我有一个docker图像设置HOME和PATH:
[{
...
"config": {
"HOME=/",
}
...
Run Code Online (Sandbox Code Playgroud)
我知道我可以替换它,但是可以删除它(并且可以使用正常的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>语法。请参阅https://docs.docker.com/engine/reference/commandline/commit/了解更多信息。
| 归档时间: |
|
| 查看次数: |
10519 次 |
| 最近记录: |