docker swarm 部署踩坑

1、.env 的文件,不会自动加载,要写入环境变量。

vim ~/.bashrc

# 末尾加上,加载 .env 文件中的环境变量


vim ~/.bashrc

# 末尾加上,加载 .env 文件中的环境变量
if [ -f /home/bewtr/.env ]; then
    export $(cat /home/bewtr/.env | xargs)
fi
#重启生效
source ~/.bashrc

2、网络通讯的问题。

正常是 serviceA、serviceB注册到 nacos,gate-way 再从 nacos 获取服务轮询访问。

但遇到 service A 注册到nacos的服务IP不能访问,验证时进入 gate-way容器内去尝试访问,ip Ping的通,但端口没有开放。

通过 docker inspect net 查看网络,serviceA显示的ip,这个在 gate-way中是可以使用的。

解决方案:

注册指定的发现,设定指定网卡: 

注册指定的发现,设定指定网卡:
SPRING_CLOUD_NACOS_DISCOVERY_NETWORK_INTERFACE: eth0

这个可以获取到和 docker inspect的一样的IP。

2、使用docker-swarm的服务名,比如 admin-system
指定注册IP名称为这个,这样swarm内部DNS会自动解析。

3、更新服务方式

docker service update bewtr_admin-system --force

重要的是:--force&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值