如何对现有数据使用PostgreSQL容器? -Docker桌面,Linux内核

问题描述

我有一个文件夹,它与postgesqlData映射:

services:
  postgis:
    image: mdillon/postgis:latest
    container_name: postgis
    ports:
      - 5432:5432
    networks:
      - backend-netoork
    volumes:
      - $HOME/volumes/postgresql_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=xxxxxx
    restart: on-failure:5

现在我将数据从$ HOME / volumes / postgresql_data复制到新的Windows计算机。

我有一个新的文件夹Data:D:\ DockerData \ pg_data

我通过命令创建一个卷:

docker volume create --opt device=D:\DockerData\pg_data --opt  type=none --opt o=bind PGData

并撰写:

services:
  postgis:
    image: mdillon/postgis:latest
    container_name: postgis
    ports:
      - 5432:5432
    networks:
      - mynetwork  
    volumes:
      - PGData:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=xxxx
    restart: on-failure:5
    environment:
      - PGDATA=/var/lib/postgresql/data
networks:
  mynetwork:
    name: my-network

volumes:
  PGData:
    driver: local

它得到错误

使用卷来存储持久数据:“ initdb:目录“ / var / lib / postgresql / data”存在但不为空”

如果我运行docker这样的话:

services:
  postgis:
    image: mdillon/postgis:latest
    container_name: postgis
    ports:
      - 5432:5432
    networks:
      - mynetwork  
    volumes:
      - D:\DockerData\pg_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=xxxx
    restart: on-failure:5
    environment:
      - PGDATA=/var/lib/postgresql/data
networks:
  mynetwork:
    name: my-network

volumes:
  PGData:
    driver: local

出现错误

2020-08-12 08:11:01.734 UTC [1] FATAL:  data directory "/var/lib/postgresql/data" has wrong ownership
2020-08-12 08:11:01.734 UTC [1] HINT:  The server must be started by the user that owns the data directory.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)