【发布时间】:2021-02-07 16:19:31
【问题描述】:
当我检查卷时,Postgres 拒绝了此权限。
由于此权限问题,未创建我的用户和数据库。我可以通过运行命令docker exec -it <cont_name> bin/bash 来确认这一点并检查postgres 容器并且没有用户。
在我重新格式化我的 mac book 之前没有发生这种情况,所以我不知道发生了什么。我正在运行 Mac OS Catalina 并运行最新的 Docker。
这是我的 yml 文件的 db 服务
db:
image: postgres:9.6
environment:
- DB_USER=sales_store # used by psql to create rails user
- DB_PASSWORD=localpostgres # used by psql to create rails user
- POSTGRES_PASSWORD=localpostgressu # used by psql
- DB_RESTORE_DATABASE=sales_store_development
deploy:
placement:
constraints: [node.role==manager]
ports:
- "5432:5432"
volumes:
- db-data:/var/lib/postgresql/data # mount data to host
- ./init/db/0-init-user-db.sh:/docker-entrypoint-initdb.d/0-init-user-db.sh # database init (fork of sales-store's init)
# restore from .sql.gz file
- ./backup/db/sales_store_ist.sql.gz:/1-restore-backup.sql.gz # copy backup file to container
- ./init/db/1-restore-backup.sh:/docker-entrypoint-initdb.d/1-restore-backup.sh # run psql restore;
networks:
- db-network
我做了什么来解决这个问题但没有奏效:
-
我尝试从这个link 运行这个命令
chmod +x docker-entrypoint.sh-- 但没有用 -
我授予了我的卷文件夹的读写权限 --- 但没有工作
我读到了Initialize PostgreSQL Container with docker-entrypoint-initdb.d script
但是作者通过修改 yml 文件来修复它。我不想这样做,因为我以前从未这样做过,而且它一直在运行,直到我重新格式化我的 Mac。我假设它是我的 Docker,或者它是我的根文件夹,我需要给每个人读写权限?
【问题讨论】:
标签: postgresql docker