我创建了一个 mysql 容器,然后我创建了一个 bookstack 容器,该容器连接到存储在第一个容器中的 MySQL 基础,如下指令:https://hub.docker.com/r/solidnerd/bookstack/
现在我想备份这两个容器的卷。在描述如何挂载一个容器的卷的所有说明中,但我在 docker 帮助中看到了挂载容器卷的可能性:
$ docker run --help | grep volumes-from
--volumes-from list Mount volumes from the specified container(s)
那么如何在不创建两个容器“backup1”和“backup2”的情况下,在单个命令中将这两个容器的所有卷挂载到 new 中?
我试过了:
# docker run --volumes-from competent_jackson bookstack_db -v $(pwd):/backup ubuntu bash -c <commands for backup>
Unable to find image 'bookstack_db:latest' locally
docker: Error response from daemon: pull access denied for bookstack_db, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
答案 0 :(得分:0)
如果您使用多个容器,docker-compose 会非常方便,因为它可以简化容器和卷的管理。
无论如何,这取决于您如何创建和管理 docker 卷。既然您提到了选项 --volumes-from
,那么请查看 docker backup, restore and migrate data volumes
你总是可以使用类似的东西
$ docker run --rm -v vol_id:/data -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /data
其中 vol_id
在 docker volume ls
的输出中列出