如果我对我的进行更改docker-compose.yml
(例如,更改容器端口所公开的主机端口),我可以重新创建该单个容器吗?还是需要重新启动整个堆栈?
docker-compose stop ; docker-compose up
可以完成这项工作,但我想避免重新启动其余服务。我还想避免删除与要重新启动的服务相关的卷,因此这docker-compose kill <service> ; docker-compose rm
不是一个选项。
答案1
只需再次运行即可docker-compose up
。受您的更改影响的所有内容(容器、卷、网络等)都将被重新创建,其他容器将保留。
如果您想使用较新的图像,请docker-compose pull
事先运行。
答案2
有时对某些环境文件的更改会被忽略。然后我
docker stop mycontainer
docker compose up
这将重新启动单个容器以及依赖容器,这就是您要做的。避免重新启动依赖容器是个坏主意,因为mycontainer
会产生不同的 docker ip
有某种reload
命令就好了