2017-04-07 1 views
0

Docker와 함께 두 개의 컨테이너를 만들려고합니다. 하나는 postgres:latest 이미지이고 다른 하나는 ubuntu:latest 이미지이며 postgresql-client 이미지가 설치되어 있습니다.Docker 내의 PostgreSQL 이미지에서 외부 데이터 디렉토리를 작성하는 방법은 무엇입니까?

나는 설치 도커 앞에 사용했던 로컬 호스트에 기존 데이터베이스 클러스터가 있습니다. 이제 PostgreSQL 컨테이너에서 해당 클러스터를 사용하고 싶습니다. 내 컴퓨터의 경로는 /Users/Marco/Data입니다.

클러스터를 저장하기 위해 docker volume create --opt device=/Users/Marco/Data data_container 명령을 사용하여 볼륨을 생성했습니다. 내가 docker-compose up -d과 용기를 실행 할 때 나에게 다음과 같은 오류 표시

version: '2' 
services: 
db: 
    image: postgres 
    environment: 
    - PGDATA=/var/lib/postgresql/data/ 
    ports: 
    - "5432:5432" 
    volumes: 
    - data_container:/var/lib/postgresql/data/pgdata 


shell: 
    image: ubuntu_pgsql 
    command: /bin/bash 
    tty: true 
    stdin_open: true 
    links: 
    - db 

volumes: 
data_container: 
    external: true 

:

ERROR: for db Cannot start service db: error while mounting volume '/var/lib/docker/volumes/data_container/_data': error while mounting volume with options: type='' device='/Users/Marco/Data' o='': no such device 
ERROR: Encountered errors while bringing up the project. 

무엇을 실패 할 수

그런 다음 다음과 같은 내용으로 docker-compose.yml 파일을 만들려고 ? 감사. 데이터 컨테이너가 디렉토리 인 경우

답변

1

당신은 선언한다 :

volumes: 
    - ./data_container:/var/lib/postgresql/data/pgdata 

당신이 전에 ./없이 data_container를 사용한 경우, 고정 표시기의 작성은 그 파일이 아닌 디렉토리입니다 알고 있습니다.

+0

아니요, 정확히하고 싶은 작업은 다음과 같습니다. 1. 이전 클러스터를 볼륨에 매핑합니다. 2. PostgreSQL 컨테이너에서 해당 볼륨을 사용하십시오. – Marco

관련 문제