Я запускаю контейнер postgres, используя следующий docker -compose.yml
version: '3'
services:
db:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_USER: usr
POSTGRES_PASSWORD: pswd
POSTGRES_DB: db
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- 5432:5432
volumes:
- nfs_cur_dir:/var/lib/postgresql/data
volumes:
nfs_cur_dir:
driver: local
driver_opts:
type: nfs
o: "addr=10.15.187.88,rw"
device: ":/u/uname/home/database"
Я получаю следующую ошибку при запуске контейнера
$sudo ./docker-compose up db
Starting postgres ... done
Attaching to postgres
postgres | mkdir: cannot create directory ‘/var/lib/postgresql/data’: Permission denied
postgres exited with code 1
Разрешения на database
каталог: 777
drwxrwxrwx 3 uname grpname 4096 May 5 22:57 database
После сбоя я также вижу каталог pgdata
, созданный как это -
drwx------ 2 polkitd root 4096 May 5 22:57 pgdata
Примечание:
- Каталог данных для postgres сопоставлен с расположением NFS. Следовательно, я определил новый том NFS в docker -compose и сопоставил его с контейнером postgres.
- Я использую переменную env PGDATA, чтобы определить другое местоположение для каталога данных.
- Кроме двух вышеперечисленных вещей нет ничего необычного. Если я использую локальный диск для каталога данных, это отлично работает!