如何从泊坞窗图像中删除ENV设置

时间:2013-09-23 05:55:07

标签: docker

我有一个设置HOME和PATH的泊坞窗图像:

[{
  ...
  "config": {
    "HOME=/",
  }
  ...

我知道我可以替换它,但是可以将其删除(并且可以使用正常的bash配置文件设置)。我不想破解shell配置文件来覆盖它。

2 个答案:

答案 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/了解更多信息。