我正在使用docker部署postgres,并尝试输出一些日志,但是我收到一个错误,说日志文件没有权限。如果我禁用日志记录,一切正常。只有在启用日志收集时才会出现权限问题。
以下是我的docker-compose代码片段:
错误如下:
我正在运行在Linux Ubuntu 20-04虚拟机上。我看到一些答案中他们改变了主机目录的权限,但我不想这样做。我也看到了一些2016年的解决方法,但我想知道现在是否有更优雅的解决方案。
注意:直到今天早上我才遇到这个错误。出于某种原因,它上周还能工作。
以下是我的docker-compose代码片段:
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虚拟机上。我看到一些答案中他们改变了主机目录的权限,但我不想这样做。我也看到了一些2016年的解决方法,但我想知道现在是否有更优雅的解决方案。
注意:直到今天早上我才遇到这个错误。出于某种原因,它上周还能工作。
postgres
镜像页面 的末尾有一个名为“任意--user
注释”的部分;这样的设置对你有帮助吗? - David Maze