docker - 需要在每个 docker start (不是 docker run )期间将参数传递给 docker entrypoint.sh 。这样的事情可能吗?
问题描述
我有一个 dockerfile,我可以在“docker run”期间提供环境变量和参数,并且在 docker start/stop/restart 期间它是持久性的。但有时我需要更改它,这需要我每次都制作一个新容器。有解决办法吗?
解决方案
容器的许多属性只能在创建时设置,环境变量和命令行就是其中之一。您必须删除并重新创建容器才能更改这些内容。没有解决方法。
如果您只关心命令的长度docker run
,请考虑将该命令打包到 shell 脚本中,或者查看 Docker Compose 之类的编排工具。如果您更改docker-compose.yml
文件中的设置并重新运行docker-compose up -d
,它将进行所需的最小更改(可能包括删除和重新创建容器,但不会触及当前设置正常的容器)。