Docker:附加容器的新参数
我在交互模式下运行一个带有一些参数的容器Docker:附加容器的新参数,docker,Docker,我在交互模式下运行一个带有一些参数的容器 docker run -i -t --name mycontainer myimage prm1 prm2 ENTERYPOINT是我使用参数的应用程序 会话结束后,我想用新参数开始一个新的会话 docker start mycontainer docker attach mycontainer 如何将新参数传递到新会话中 PS:这是交互式docker应用程序的合适场景吗?或者我应该为每个新会话创建一个新容器?最好将您的应用程序保留为默认值(sh-c
docker run -i -t --name mycontainer myimage prm1 prm2
ENTERYPOINT是我使用参数的应用程序
会话结束后,我想用新参数开始一个新的会话
docker start mycontainer
docker attach mycontainer
如何将新参数传递到新会话中
PS:这是交互式docker应用程序的合适场景吗?或者我应该为每个新会话创建一个新容器?最好将您的应用程序保留为默认值(
sh-c
或my_应用程序
),并将其用作命令参数
CMD prm1 prm2
这意味着,默认情况下,docker运行将默认使用prm1 prm2,但您可以通过在下一个docker运行中传递新参数轻松覆盖它们
上述方法基于运行一个新容器,而不是重新启动一个“已退出”的容器 这是常见的做法,因为持久性数据应该保存在卷()中,然后(重新)装载到新容器上(
docker run-v
)
如果要重新启动容器,并从不同的参数中获益,则这取决于您的应用程序:
- 如果所述应用程序可以从环境变量中读取这些参数,则新命令(,仍然打开)不会更新环境变量(仅cpu和内存)
- 如果所述应用程序可以从属性文件中读取这些内容,您可以使用将所述属性文件的更新版本复制到该容器中,其中包含新属性