docker:只在容器运行时执行命令
我想在泊坞窗容器中创build一个安装卷的备份。 这是我的dockerfile中的命令:
RUN tar -cvpzf test.tar -C /test/ .
但问题是,它只能在我的音量挂载之后执行。 (因为我的音量将挂载到/test/
所以这个命令需要在启动Docker容器后执行,而不是在创build镜像时执行。 我该如何执行此操作?
谢谢
一旦你的容器运行,假设容器有tar
,你可以做你想要的:
docker exec nameofcontainer [options] tar -cvpzf test.tar -C /test/ .
您可以使用docker ps
来获取正在运行的容器的名称。 对于选项,您可能需要使用-ti
以便您可以看到输出。
您还可以使用自定义的ENTRYPOINT
或CMD
来构build容器,这两者都将启动容器的主要工作,并运行备份脚本以及需要执行的任何其他任务。
官方的mysql容器和docker-entrypoint.sh
脚本一样。