Docker Swarm部署SpringCloud Alibaba微服务踩坑记录

为了方便部署和维护微服务项目,还是得上集群部署方案,决定采用Docker的swarm,为什么不是k8s,因为部署骑来又是个新的工具,之前就一直用的docker,自带了类k8s的工具,索性就直接使用swarm了,但是用起来也是问题多多,以下是踩坑记录:

# 环境和变量(按自己情况确定

module_name="asdapp-front"
build_env="prod"
cname="${module_name}"
ctag="latest"
img_name=$cname:$ctag
repo_addr="192.168.0.16:5000"

# 服务首次部署

docker stack deploy -c docker-swarm.yml myxm

# 服务更新(强制使用镜像更新

docker service update --force --image $repo_addr/$img_name myxm_${module_name}

# nginx容器部署和代理后端接口

server {
    listen 21140;
    index index.html index.htm;

    location /prod-api/ {
        proxy_pass http://asdapp-backend:21141/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    location /profile/ {
        proxy_pass http://asdapp-backend:21141/profile/;
        proxy_set_header  Host $host;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location / {
        alias /usr/share/nginx/html/;
		try_files $uri $uri/ /index.html;
    }
}

# nginx代理后端接口还需要定时更新dns解析,swarm下的后端服务更新后会是新的ip

resolver 127.0.0.11 valid=30s;

# 微服务容器首选网卡网段,解决swarm多网卡情况下nacos上注册的ip网段是ingress的问题

environment:
  "spring.cloud.inetutils.preferred-networks": "10.13.0,10.12.0"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值