首页 > 解决方案 > 需要在每个 docker start (不是 docker run )期间将参数传递给 docker entrypoint.sh 。这样的事情可能吗?

问题描述

我有一个 dockerfile,我可以在“docker run”期间提供环境变量和参数,并且在 docker start/stop/restart 期间它是持久性的。但有时我需要更改它,这需要我每次都制作一个新容器。有解决办法吗?

标签: dockerdockerfile

解决方案


容器的许多属性只能在创建时设置,环境变量和命令行就是其中之一。您必须删除并重新创建容器才能更改这些内容。没有解决方法。

如果您只关心命令的长度docker run,请考虑将该命令打包到 shell 脚本中,或者查看 Docker Compose 之类的编排工具。如果您更改docker-compose.yml文件中的设置并重新运行docker-compose up -d,它将进行所需的最小更改(可能包括删除和重新创建容器,但不会触及当前设置正常的容器)。


推荐阅读