Я новичок в докере, и я все еще выясняю, как это работает.Я настроил через docker-compose сайт WordPress, и файл yaml, который я использую, выглядит следующим образом.
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- ./db_data/db/backup.sql:/docker-entrypoint-initdb.d/backup.sql #it loads an already existing database
#- ./db_data/all.log:/var/log/mysql/all.log # i want here to have the logs of mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./db_data/wp-content:/var/www/html/wp-content # loads the files from an existing installation of wordpress
volumes:
db_data:
, как вы можете видеть по этой строке
- ./db_data/all.log:/var/log/mysql/all.log
я пытаюськак-нибудь сделать так, чтобы я мог регистрировать все сделанные запросы.Мне удалось сделать это, выполнив следующее:
1) docker-compose up, закомментировав строку с all.log из файла yaml.
2) регистрация в контейнере mysql с помощью bash и запуск следующего
mysql -u root -psomewordpress -e "SET global log_output = 'FILE'; SET global general_log_file='/var/log/mysql/all.log'; SET global general_log = 1;"
3) Переход в / var / lib / docker / volume и получение созданного файла.
То, чего я пытаюсь добиться, - это как-то сделать эту команду частью файла yaml, чтобы у меня также был файл all.log, смонтированный в том месте, где находится файл yaml.