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以便您可以看到输出。

您还可以使用自定义的ENTRYPOINTCMD来构build容器,这两者都将启动容器的主要工作,并运行备份脚本以及需要执行的任何其他任务。

官方的mysql容器和docker-entrypoint.sh脚本一样。