0

Так что у меня возникла проблема с установкой существующего набора данных для Docker Postgres, который я не могу понять для жизни меня. Вот мой файл для докеров.Docker/Postgres: установка существующей базы данных в докерезаторе Postgresql

version: '2' 
    services: 
     postgresql: 
     image: postgres:9.5 
     environment: 
      - PGDATA=/data 
     ports: 
     - '5432:5432' 
    volumes: 
     - ~/.postgresql:/data 
    web: 
    build: . 
    command: sbt/sbt run 
    volumes: 
     - .:/app 
    ports: 
     - '9001:9001' 
    depends_on: 
     - postgresql 

Вот ошибка я вижу

ostgresql_1 | FATAL: data directory "/data" has wrong ownership 
postgresql_1 | HINT: The server must be started by the user that owns the data directory. 

Кто-нибудь есть какие-либо понятия, как это исправить? Спасибо

PS Я использую Docker Machine через OSX, если это имеет значение в этой проблеме.

+0

Вы хотите сказать, что пользователь в уже существующем db? Или напишите мое собственное изображение Docker Postgres, используя официальное в качестве базы с помощью команды, на которую вы ссылаетесь. – adrian

ответ

0

Сообщение об ошибке довольно ясно. Я думаю, что контейнер запускает postgres с пользователем postgres, у которого есть uid/gid 999 (см. https://github.com/docker-library/postgres/blob/3f8e9784438c8fe54f831c301a45f4d55f6fa453/9.5/Dockerfile строка 5). Вам необходимо указать chown папку с данными вашего хоста с тем же uid.

+0

О, ладно, я не знал о том, что такое uid, позвольте мне попытаться исправить это и вернуться к вам – adrian

Смежные вопросы