Ở đây tôi đã tạo ra docker container sử dụng mariadbhình ảnh và tạo ra ba tập như dưới đây.
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
Hai tập đầu tiên hoạt động thành công nhưng tôi không thể tìm thấy các tệp nhật ký mariadb vào logsthư mục. Tôi dường như logsthư mục hiển thị trống trên máy chủ cũng như trên container (/ var / log / mysql). Tôi nghĩ thư mục máy chủ ghi đè vào hệ thống tập tin docker.
Nếu tôi loại bỏ âm lượng này ( ./logs:/var/log/mysql) khỏi docker-compose thì các tệp nhật ký sẽ hiển thị trên container.
Kế hoạch của tôi là gắn /var/log/mysql/thư mục vào máy cục bộ.
Cảm ơn !
Debianos và apparmor đã hủy kích hoạt.
                
chmod 777 /var/log/mysqltrên máy chủ của bạn, tôi cá là daemon của bạn đang chạy vìmysqlngười dùng không có quyền để viết trong thư mục này trên máy chủ của bạn. Sau đó, bạn sẽ phải tìm id người dùng mysql bên trong containerchownđể tránh cho mọi người đọc bản ghi db của bạn.