Ở đây tôi đã tạo ra docker container sử dụng mariadb
hì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 logs
thư mục. Tôi dường như logs
thư 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 !
Debian
os và apparmor đã hủy kích hoạt.
chmod 777 /var/log/mysql
trên máy chủ của bạn, tôi cá là daemon của bạn đang chạy vìmysql
ngườ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.