来自Docker-System主机的PostgreSQL PGDATA

时间:2017-01-21 23:37:29

标签: postgresql docker docker-compose

我想用docker-compose运行一个webapp。我有一个运行postgresql和docker-engine的centos7主机。我的docker-compose包含一个postgresql-image,应该与主机系统的PGDATA一起运行。但每次我运行docker-compose时都会收到错误:

initdb: directory "/var/lib/docker-postgresql" exists but is not empty

postgresql-database的docker-compose部分如下所示:

db:
    build: ./postgres/
    container_name: ps01
    volumes:
      - ./postgres:/tmp
      - /var/lib/pgsql/9.4:/var/lib/docker-postgresql    
    expose:
      - "5432"
    environment:
      PGDATA: /var/lib/docker-postgresql

我将Docker-Postgresql-App中的/var/lib/pgsql/9.4挂载到/ var / lib / docker-postgresql,并将此路径设置为PGDATA-ENV。

./postgres/中的Dockerfile如下所示:

FROM postgres:latest

ENV POSTGIS_MAJOR 2.3
ENV POSTGIS_VERSION 2.3.1+dfsg-1.pgdg80+1 

RUN apt-get update \
      && apt-get install -y --no-install-recommends \
           postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \
           postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR-scripts=$POSTGIS_VERSION \
           postgis=$POSTGIS_VERSION \
      && rm -rf /var/lib/apt/lists/*

如何从主机分享我的Postgres数据?

0 个答案:

没有答案