【问题标题】:How can I move docker volume from specific folder to general docker structure如何将 docker 卷从特定文件夹移动到一般 docker 结构
【发布时间】:2020-05-16 12:06:20
【问题描述】:

假设我有一个关注者docker-compose.yml

version: '3.7'
services:
  db:
    image: mongo:4.2
    ports:
    - '27017:27017'
    volumes:
      - ./mongo-volume:/data/db

现在我想移动那个卷,所以我可以使用下面的docker-compose.yml

version: '3.7'
services:
  db:
    image: mongo:4.2
    ports:
    - '27017:27017'
    volumes:
      - mongvol:/data/db
volumes:
  mongvol:

【问题讨论】:

  • 这与 Docker Use volumes 文档中的“Restore container from backup”基本相同。
  • docker 文档仅包含一种备份卷的方法,无需指定文件夹
  • 不过,您已经拥有了所需的内容:它们位于 mongo-volume 子目录中。所以你需要创建命名卷并将其复制进去。

标签: docker docker-compose


【解决方案1】:

您好,我假设您想启动 docker 卷并将其指向您的本地 ./mongo-volume。您可以尝试按如下方式启动 docker 卷

docker volume create --driver local \
      --opt type=none \
      --opt device=<your-folder-path-here> \
      --opt o=bind \
      test_vol

【讨论】:

  • 其实我想摆脱本地文件夹mongo-volume
【解决方案2】:

解决办法是:

docker container create --name temp -v mongovall:/data busybox
cd mongo-volume
docker cp . temp:/data
docker rm temp

比改变 docker compose 如下:

 volumes:
      - mongovall:/data/db
volumes:
  mongovall:
    external: true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2018-11-16
    • 2021-02-07
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多