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: ***
经测试,有效。具体可参考: