Aqui eu criei o container docker que usa a mariadbimagem e criei três volumes, como abaixo.
docker-compose.yml
version: '2.0'
services:
mariadb:
image: mariadb:latest
restart: always
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=testdb
ports:
- 3307:3306
volumes:
- ./database:/var/lib/mysql
- ./_conf/mariadb.cnf:/etc/mysql/my.cnf:ro
- ./logs:/var/log/mysql
Os dois primeiros volumes funcionam com êxito, mas não consigo encontrar os arquivos mariadb-logs na logspasta. Parece logspasta mostrando em branco no host, bem como no recipiente (/ var / log / mysql). Acho pasta host substituir no sistema de arquivos docker.
Se eu remover esse volume ( ./logs:/var/log/mysql) da janela de encaixe, os arquivos de log serão exibidos no contêiner.
Meu plano é montar a /var/log/mysql/pasta na máquina local.
Obrigado !
Debianos e apparmor já desativados.
chmod 777 /var/log/mysqlseu host, aposto que seu daemon está sendo executado, pois omysqlusuário não tem direitos para escrever neste diretório no seu host. Depois disso, você terá que encontrar o ID do usuário do mysql dentro do contêinerchownpara evitar que todos leiam e escrevam seus logs de banco de dados.