Docker Service

138 阅读1分钟

一、docker service 是在 docker swarm的基础上


docker swarm init

二、编写配置文件(以nacos为例,docker-stack-nacos.yml)


version: '3.7'

services:
  nacos:
    image: nacos/nacos-server:v2.1.1
    ports:
      - 8848:8848
    environment:
      - PREFER_HOST_MODE=hostname
      - MODE=standalone
    volumes:
      - /deploy/logs/nacos:/home/nacos/logs

networks:
  emo_net:
    ipam:
      driver: default

三、运行配置文件


# 使用名称为emo的编排器
docker stack deploy -c docker-stack-nacos.yml emo
  1. 但是创建后没有启动

image.png

  1. 查看原因(挂载的目录没有创建)
# 错误排查原文链接 [(docker swarm how to find out why service can't start)](https://stackoverflow.com/questions/45372848/docker-swarm-how-to-find-out-why-service-cant-start)
docker service ps --no-trunc emo_nacos
# 或者
journalctl -u docker.service | tail -n 50

image.png

四、服务链接


  1. 使用springboot服务连接报错,9848不能连接上

image.png

  1. 修改docker service
docker service update --publish-add published=9848,target=9848 emo_nacos
docker service update --publish-add published=9849,target=9849 emo_nacos

image.png