mac上使用 docker-conpose.yml stack deploy方式 启动服务Exited (0) 1 second ago

docker-compose.yml文件内容如下:

version: "3.4"
services:
  my_service_name:
    image: my_image_name
    deploy:
      replicas: 1
    networks:
      - ***
    secrets:
      - global.conf
    ports:
      - "0.0.0.0:****:****"
   

networks:
  ***:
    ipam:
      config:
        - subnet: 172.16.***.0/24

secrets:
  global.conf:
      file: ***

本身,上面那个容器是非常简单的的一个服务,而且,compose文件是绝对没有问题的,因为同样的文件,换成其他镜像就是可以启动成功的。但是就是用这个镜像,会出现如下错误:

解决办法,在compose文件里面添加stdin_open: true 或者 tty: true,如下:

version: "3.4"
services:
  my_service_name:
    image: my_image_name
    deploy:
      replicas: 1
    stdin_open: true 或者 tty: true
    networks:
      - ***
    secrets:
      - global.conf
    ports:
      - "0.0.0.0:****:****"
   

networks:
  ***:
    ipam:
      config:
        - subnet: 172.16.***.0/24

secrets:
  global.conf:
      file: ***

经测试,有效。具体可参考:

https://github.com/docker/compose/issues/5016

你可能感兴趣的:(macOS,10.13,docker)