Docker 迁移服务&x27;s卷从v2到v3

Docker 迁移服务&x27;s卷从v2到v3,docker,docker-compose,Docker,Docker Compose,以下是基于天安/true的v2mongodata卷: version: "2" services: mongo: container_name: mongo image: mongo ports: - "27017:27017" volumes_from: - mongodata mongodata: image: tianon/true volumes: - /data/db 如何将其迁移到

以下是基于天安/true的v2
mongodata
卷:

version: "2" 
services:   
  mongo:
    container_name: mongo
    image: mongo
    ports:
      - "27017:27017"
    volumes_from:
      - mongodata

  mongodata:
    image: tianon/true
    volumes:
      - /data/db
如何将其迁移到v3?我下面的照片不起作用。可能是因为此卷不基于图像

version: "3"
services:
  mongo:
    container_name: mongo
    image: mongo
    ports:
      - "27017:27017"
    volumes:
      - mongodata:/data/db

volumes:
  mongodata:

TL;看起来你不能


但是,您可以复制内容:

  • 使用:
    docker system df-v
    标识所有正在运行的卷和名称
  • 查找使用卷的容器
    docker ps-f“volume=VOLUMENAME”
  • 可选输入:
    docker volume inspect VOLUMENAME

确定要复制的卷时,请克隆该卷:

docker run --rm \
           -i \
           -t \
           -v SOURCEVOLUME:/from \
           -v TARGETVOLUME:/to \
           alpine ash -c "cd /from ; cp -av . /to"

是的,您不能-查看以进行讨论。通过将Docker的内部
\u data
目录移动到新卷,您还可以找到手动
cp
的替代方法: