我正在使用以下 docker-compose.yml 启动 postgres 容器
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
上的权限目录是 777drwxrwxrwx 3 uname grpname 4096 May 5 22:57 database
失败后我也看到
pgdata
这样创建的目录 -drwx------ 2 polkitd root 4096 May 5 22:57 pgdata
笔记:
最佳答案
您应该检查 NFS 共享公开的权限。
根据你说的,如果你使用本地驱动器它工作正常。这就是为什么我认为 NFS 共享的权限没有像您期望的那样工作。
也许您应该在尝试运行应用程序之前创建目录。
关于postgresql - 启动 postgres 容器时出错 - mkdir : Permission denied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61628796/