- 代碼中bootstrap.yml配置需要增加nacos命名空間的變量:
namespace: ${NACOS-NAMESPACE:vonedao-tenant}
-
通過jenkins打包鏡像
-
編寫yaml文件:
# vi vonedao-auth.yaml
version: '3.0'
services:
vonedao-auth:
image: docker.vonedao.com/vonedao-cs/vonedao-auth:3.7.0
extra_hosts:
- "nacos.vonedao.com:ip" #內網沒有做dns,可以直接指定解析
environment:
- NACOS-PORT=80
- NACOS-HOST=nacos.vonedao.com
- NACOS-NAMESPACE=sit_vonedao-platform #指定nacos中的命名空間
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.labels.role==sit_vonedao #指定打標簽的節點啟動
networks:
- sitvonedao_net #配置網絡
networks:
sitvonedao_net:
external: true
- nacos 的配置
添加命名空間
添加配置:
4.1 將開發環境的配置導出
4.2 將導出的配置導入到新添加的命名空間
查看導出的文件位置:
導入后:
進行修改:
把mysql、redis、zookeeper改為測試環境地址
5. 啟動測試環境的服務
# docker stack deploy -c vonedao-auth.yaml vonedao-auth
- 在nacos對於命名空間查看服務
附錄:vonedao-auth程序的Dockerfile文件
FROM java:8-jre
MAINTAINER wangiegie@gmail.com
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /vonedao-auth
WORKDIR /vonedao-auth
EXPOSE 3000
ADD ./target/vonedao-auth.jar ./
CMD sleep 10;java -Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom -jar vonedao-auth.jar