Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker compose 防止容器启动_Docker Compose - Fatal编程技术网

Docker compose 防止容器启动

Docker compose 防止容器启动,docker-compose,Docker Compose,我让docker撰写: myservice: restart: "no" 使用no时,服务仍将启动(但不会重新启动) 我怎样才能阻止服务启动呢 注意:对于那些好奇的人,我之所以要这样做,是因为我想通过一个env var配置这个标志: myservice: restart: "${RESTART_SERVICE:-no}" 然后传递正确的值以启动服务 Docker提供了重新启动策略来控制容器是在退出时自动启动,还是在Docker重

我让docker撰写:

  myservice:
    restart: "no"
使用
no
时,服务仍将启动(但不会重新启动)

我怎样才能阻止服务启动呢

注意:对于那些好奇的人,我之所以要这样做,是因为我想通过一个env var配置这个标志:

  myservice:
    restart: "${RESTART_SERVICE:-no}"
然后传递正确的值以启动服务

Docker提供了重新启动策略来控制容器是在退出时自动启动,还是在Docker重新启动时自动启动

因此,只有当容器退出或Docker重新启动时,才会出现这种情况

但是你有两个选择来决定你想做什么:

首先,仅启动所需的服务:

docker组合其他服务
这并不需要按照您的意愿使用ENV(除非您有运行docker compose up的脚本)

如果[[$START==true]];然后
码头工人整理
其他的
docker撰写其他服务
fi
但是,如前所述,您可以覆盖
入口点

因此,您可以执行以下操作:

服务:
阿尔卑斯山:
图片:阿尔卑斯山:最新
环境:
-开始=错误
卷数:
-./start.sh:/start.sh
入口点:['sh','/start.sh']
和start.sh类似:

如果[$START==true];然后
echo ok#替换为原始入口点或命令
其他的
出口0
fi
#docker compose中的START=false
$docker整理
正在启动stk_alpine_1。。。完成
连接至stk_alpine_1
stk_alpine_1已退出,代码为0
$sed-i's/START=false/START=true/'docker-compose.yml
$docker整理
正在启动stk_alpine_1。。。完成
连接至stk_alpine_1
阿尔卑斯山1号|好的
stk_alpine_1已退出,代码为0
我的想法是正确的,但你的想法也是正确的。