20.4. 使用 buildah copy 和 buildah config 修改容器
使用 buildah copy
命令在不挂载的情况下将文件复制到容器。然后,您可以使用 buildah config
命令配置容器,以运行默认创建的脚本。
先决条件
-
container-tools
模块已安装。 - 使用 Containerfile 中的指令构建的镜像。详情请参阅 使用 Buildah 从 Containerfile 构建镜像 一节。
流程
创建一个名为
newecho
的脚本,并使其可执行:# cat newecho echo "I changed this container" # chmod 755 newecho
创建新的可正常工作的容器:
# buildah from myecho:latest myecho-working-container-2
将 newecho 脚本复制到容器中的
/usr/local/bin
目录中:# buildah copy myecho-working-container-2 newecho /usr/local/bin
更改配置以使用
newecho
脚本作为新入口点:# buildah config --entrypoint "/bin/sh -c /usr/local/bin/newecho" myecho-working-container-2
可选:运行
myecho-working-container-2
容器,其触发newecho
脚本执行:# buildah run myecho-working-container-2 -- sh -c '/usr/local/bin/newecho' I changed this container
将
myecho-working-container-2
容器提交成名为mynewecho
的新镜像:# buildah commit myecho-working-container-2 containers-storage:mynewecho
验证
列出本地存储中的所有镜像:
# buildah images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/mynewecho latest fa2091a7d8b6 8 seconds ago 234 MB
其它资源
-
buildah-copy
,buildah-config
,buildah-commit
,buildah-run
man page