Aqui eu criei o container docker que usa a mariadb
imagem 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 logs
pasta. Parece logs
pasta 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 !
Debian
os e apparmor já desativados.
chmod 777 /var/log/mysql
seu host, aposto que seu daemon está sendo executado, pois omysql
usuá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êinerchown
para evitar que todos leiam e escrevam seus logs de banco de dados.