作者:手机用户2402851335 | 来源:互联网 | 2023-02-11 14:25
我想编辑docker图像元数据,原因如下:
我不喜欢图像父亲EXPOSE,VOLUME等声明(见#3465,Docker-Team不想提供解决方案),所以我想"取消音量"或"不曝光"图像.
我不喜欢图像ContainerConfig
(请参阅docker inspect [image]
)因为它是从正在运行的容器中生成的docker commit [container]
修复错误docker build
或docker run
类似错误:
cannot mount volume over existing file, file exists [path]
有什么方法可以做到吗?
1> GameScriptin..:
它有点hacky,但工作:
将图像保存为tar.gz文件:
$ docker save [image] > [targetfile.tar.gz]
解压缩tar文件以访问原始图像数据:
tar -xvzf [targetfile.tar.gz]
查找文件中的图像元数据文件manifest.json
:应该有一个.Config
包含[HEX]
数字的键.[HEX].json
提取的文件夹的根目录中应该有一个确切的位置.
这是包含图像元数据的文件.根据需要编辑.
将提取的文件打包回new.tar.gz
-archive
使用cat [new.tar.tz] | docker load
重新导入修改后的图像
使用docker inspect [image]
来验证你的元数据更改已应用