Docker mysql8.0 Could not open file '/var/log/mysql/mysql-error.log' for error logging: Permission denied
Ubuntu18.04 上で発生した問題(Macでは発生しない?)
権限の問題であるようには見えるので、無理やり権限を変更してみる。
下記の変更で動作するようになりました。
変更前
docker-compose.yml
version: "3" services: mysql8-db: image: mysql:8.0 volumes: - db8-store:/var/lib/mysql - db8-log-store:/var/log/mysql - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf environment: - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASS} - MYSQL_ROOT_PASSWORD=${DB_PASS} - TZ=${TZ} ports: - ${DB_PORT}:3306 volumes: db8-store:
Dockerfileなし
変更後
docker-compose.yml
version: "3" services: mysql8-db: build: context: "." dockerfile: Dockerfile volumes: - db8-store:/var/lib/mysql - db8-log-store:/var/log/mysql - ./conf/my.cnf:/etc/mysql/conf.d/my.cnf environment: - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASS} - MYSQL_ROOT_PASSWORD=${DB_PASS} - TZ=${TZ} ports: - ${DB_PORT}:3306 volumes: db8-store: db8-log-store:
Dockerfile
FROM mysql:8.0 RUN mkdir /var/log/mysql RUN chown mysql:mysql /var/log/mysql