[英]Enable logging in postgresql using docker-compose
我在 docker-compose 文件中使用 Postgres 作为服务。 我希望在执行docker-compose up
时启用日志记录到日志文件。 启用日志记录的一种方法是编辑postgres.conf
文件,但在这种情况下它没有用。 另一种方法是做这样的事情
docker run --name postgresql -itd --restart always sameersbn/postgresql:10-2 -c logging_collector=on
但这也没什么用,因为我不是从图像启动它,而是作为 docker-compose 服务。 知道如何在 Postgres 中启用日志记录的情况下启动 docker-compose up 吗???
这是在 compose 中运行命令-c
的 docker-compose
version: '3.3'
services:
postgresql:
image: postgres:11.5
container_name: platops_postgres
volumes: ['platops-data:/var/lib/postgresql/data/', 'postgress-logs:/var/log/postgresql/']
command: "postgres", "-c", "logging_collector=on", "-c", "log_directory=/logs", "-c", "log_filename=postgresql.log", "-c", "log_statement=all"
environment:
- POSTGRES_USER=postgresql
- POSTGRES_PASSWORD=postgresql
ports: ['5432:5432']
volumes:
platops-data: {}
# uncomment and set the path of the folder to maintain persistancy
# data-postgresql:
# driver: local
# driver_opts:
# o: bind
# type: none
# device: /path/of/db/postgres/data/
postgress-logs: {}
# uncomment and set the path of the folder to maintain persistancy
# data-postgresql:
# driver: local
# driver_opts:
# o: bind
# type: none
# device: /path/of/db/postgres/logs/
有关更多信息,您可以查看容器/postgress
docker run --name postgresql -itd --restart always sameersbn/postgresql:10-2 -c logging_collector=on
为ENTRYPOINT ["/sbin/entrypoint.sh"]
添加-c logging_collector=on
参数以启用日志记录。 ( Dockerfile )。
command:
像这样:
version: "3.7"
services:
database:
image: sameersbn/postgresql:10-2
command: "-c logging_collector=on"
# ......
当 Postgresql contaienr 运行时,它会运行命令: /sbin/entrypoint.sh -c logging_collector=on
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.