我想在docker容器中创建一个挂载卷的备份。 这是我的dockerfile中的命令:
RUN tar -cvpzf test.tar -C /test/ .
但问题是它只能在我的音量装载后才能执行。 (因为我的音量将挂载到/test/
所以这个命令需要在启动docker容器后执行,而不是在我创建图像时执行。我该如何执行此操作?
由于
答案 0 :(得分:1)
一旦你的容器运行,假设容器有tar
,你就可以完全按照自己的意愿行事:
docker exec nameofcontainer [options] tar -cvpzf test.tar -C /test/ .
您可以使用docker ps
获取正在运行的容器的名称。对于选项,您可能需要使用-ti
以便查看输出。
您还可以使用自定义ENTRYPOINT
或CMD
构建容器,该容器将启动容器的主要作业,并运行备份脚本以及任何其他任务需要表演。
official mysql container使用docker-entrypoint.sh
脚本执行此类操作。