【问题标题】:How to mount volumes of multiple containers to a new container如何将多个容器的卷挂载到新容器
【发布时间】:2021-06-18 09:21:29
【问题描述】:

我创建了一个 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”的情况下将这两个容器的所有卷挂载到新的单个命令中?

我试过了:

# 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'.

【问题讨论】:

标签: docker docker-volume


【解决方案1】:

如果您使用多个容器,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_iddocker volume ls 的输出中列出的位置

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多