【发布时间】:2022-01-10 22:48:59
【问题描述】:
我正在 docker 中部署 postgres 并尝试输出一些日志,但是,我收到一条错误消息,提示日志文件的权限被拒绝。如果我禁用日志记录,一切正常。只有在我启用日志收集时才会发生权限问题。
这是我的 docker-compose 的 sn-p:
postgres_db:
image: postgres:14.1
restart: unless-stopped
environment:
- POSTGRES_USER=${BP_ADMIN_USER}
- POSTGRES_PASSWORD=${BP_ADMIN_PASSWORD}
volumes:
- ./admin/${BP_ENV:-dev}/database:/docker-entrypoint-initdb.d
- ./admin/${BP_ENV:-dev}/config:/mnt/admin
- ./data/log_db:/mnt/log
- ./data/hist_data:/mnt/data
- ./data/postgres:/var/lib/postgresql/data
command: postgres -c logging_collector=on -c log_rotation_age=1d -c log_directory=/mnt/log -c log_destination='stderr' -c log_filename='postgresql-%Y-%m-%d_%H%M%S.log'
ports:
- "5432:5432"
错误如下:
UTC [1] FATAL: could not open log file "/mnt/log/postgresql-2022-01-10_224118.log": Permission denied
我在 Linux Ubuntu 20-04 VM 上运行它。我看到了一些答案,他们更改了主机目录的权限。那是我不想做的事情。我还看到了一些旧的 2016 年解决方法的答案。但我想知道现在是否有更优雅的解决方案。
注意:直到今天早上我才收到此错误。无论出于何种原因,它上周都在工作。
【问题讨论】:
-
Docker Hub
postgresimage page末尾有一段“任意--user备注”;这样的设置对您有帮助吗?
标签: postgresql docker logging permissions