我有一个设置 HOME 和 PATH 的 docker 映像:
[{
...
"config": {
"HOME=/",
}
...
我知道我可以替换它,但是否可以删除它(并使用正常的 bash 配置文件设置)。我不想破解 shell 配置文件来覆盖它。
我有一个设置 HOME 和 PATH 的 docker 映像:
[{
...
"config": {
"HOME=/",
}
...
我知道我可以替换它,但是否可以删除它(并使用正常的 bash 配置文件设置)。我不想破解 shell 配置文件来覆盖它。
我无法得到@creack 的答案来为我工作。
在我的情况下,我无意中将一些环境变量提交到图像中,我想将它们从图像中删除。
-e
我最终通过使用没有变量值的选项来启动图像并“取消设置”环境变量,
例如取消设置环境变量 FOO
docker run -it -e FOO IMAGE /bin/bash
然后提交容器
docker commit -m 'removed FOO' CONTAINER_ID IMAGE
您可以简单地执行手动提交。
此操作在 Dockerfile 中不可用,但可以手动完成。
执行此操作时docker inspect <image>
,您可以检索已用于创建此图像的容器的 ID。
你可以这样做docker commit <container id> <new image name>
,所有的 ENV 和其他配置都将被刷新。
如果容器已被移除,您可以运行镜像docker run -d <image> <any command
,然后提交生成的容器。
如果你想保留一些配置,你可以使用docker commit -run '{}' <container id> <new image name>
语法。参见http://docs.docker.io/en/latest/commandline/command/commit/了解更多信息。