我有一个设置HOME和PATH的泊坞窗图像:
[{
...
"config": {
"HOME=/",
}
...
我知道我可以替换它,但是可以将其删除(并且可以使用正常的bash配置文件设置)。我不想破解shell配置文件来覆盖它。
答案 0 :(得分:6)
我无法获得@ creack为我工作的答案。
在我的情况下,我无意中将一些环境变量提交给图像,我想从图像中删除它们。
我最终推出了这张图片并且没有设置'环境变量使用-e
选项,没有变量值,
例如,取消设置环境变量FOO
docker run -it -e FOO IMAGE /bin/bash
然后提交容器
docker commit -m 'removed FOO' CONTAINER_ID IMAGE
答案 1 :(得分:4)
您只需执行手动提交即可。
此操作在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>
语法。 Cf http://docs.docker.io/en/latest/commandline/command/commit/了解更多信息。