更新时间:2023-09-19 17:37:16
好的.当您尝试运行 pgadmin
服务时似乎出现问题.
Okay. looks like problem appears when you try to run pgadmin
service.
这部分
### pgAdmin ##############################################
pgadmin:
image: dpage/pgadmin4:latest
environment:
- "PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}"
- "PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}"
ports:
- "${PGADMIN_PORT}:80"
volumes:
- ${DATA_PATH_HOST}/pgadmin:/var/lib/pgadmin
depends_on:
- postgres
networks:
- frontend
- backend
如您所见,您尝试将本地目录 ${DATA_PATH_HOST}/pgadmin
挂载到容器的 /var/lib/pgadmin
As you can see you trying to mount local directory ${DATA_PATH_HOST}/pgadmin
into container's /var/lib/pgadmin
volumes:
- ${DATA_PATH_HOST}/pgadmin:/var/lib/pgadmin
正如您在这篇 文章中看到的那样 你的本地 ${DATA_PATH_HOST}/pgadmin
目录的 UID 和 GID 必须是 5050
.这是5050
吗?
As you can read in this article your local ${DATA_PATH_HOST}/pgadmin
directory's UID and GID must be 5050
. Is this 5050
?
可以通过运行查看
ls -l ${DATA_PATH_HOST}
输出会是这样的
drwxrwxr-x 1 5050 5050 12693 Nov 11 14:56 pgadmin
或
drwxrwxr-x 1 SOME_USER SOME_GROUP 12693 Nov 11 14:56 pgadmin
如果 SOME_USER
和 SOME_GROUP
的 ID 是 5050
,没关系.5050
一样也可以.如果没有,请尝试按照上面文章中的说明进行操作.
if SOME_USER
's and SOME_GROUP
's IDs are 5050
, it is okay. 5050
as is also okay. If not, try to do as described in article above.
sudo chown -R 5050:5050 ${DATA_PATH_HOST}/pgadmin
还需要检查环境变量是否存在:
Also you need to check is environment variable exists:
# run it as same user as you running docker-compose
echo ${DATA_PATH_HOST}
如果输出为空,您需要设置 ${DATA_PATH_HOST}
或允许 docker 从文件中读取变量.有很多方法可以做到.
If output will be empty you need to set ${DATA_PATH_HOST}
or allow docker to read variables from file. There are many ways to do it.