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&