【问题标题】:How to migrate the volumes of a Docker-Compose Postgres to another host?如何将 Docker-Compose Postgres 的卷迁移到另一台主机?
【发布时间】:2019-01-22 01:14:44
【问题描述】:

我有一个包含一些服务的 Docker Compose 文件。其中一个是我想备份卷并将所有数据迁移到另一台机器的数据库。 我的 docker-compose.yml 看起来像这样

version: '3'

services:
  service1:
  ...
  serviceN:
  db:
    image: postgres:11
    ports:
      - 5432:5432
    networks:
      - postgresnet
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

volumes:
    postgresql:
    postgresql_data:

networks:
    postgresnet:
        driver: bridge

如何备份 postgresql 和 postgresql_data 卷的数据并将它们迁移到另一台机器上?

【问题讨论】:

    标签: postgresql docker docker-compose


    【解决方案1】:

    最简单的方法是在 docker-compose 文件之间共享外部卷。

    首先创建卷

    docker volume create shared-data
    

    接下来修改你yml:

    ...
    volumes:
        postgresql:
        postgresql_data:
          external:
            name: shared-data
    ...
    

    现在您的postgresql_data 已映射到外部卷,您保存在那里的所有内容都可以从外部看到。只需在另一个 docker-compose.yml 中创建相同的配置即可享受。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2017-04-30
      • 2020-07-05
      • 1970-01-01
      相关资源
      最近更新 更多