私は CentOS をサーバーとして使用し、docker-compose を次のように使用します。
mysql:
build: ./DockerFiles/Mysql
ports:
- ${LOCAL_PHP_IP}:${MYSQL_PORT}:3306
privileged: true
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- /opt/mysql_data:/var/lib/mysql
走るとき
docker-compose を起動 -d
コンテナが停止し、ログを確認すると次のエラーが表示されます。
mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"
私のMysql Dockerfileは次のようになります:
FROM percona
MAINTAINER Alireza Rahmani Khalili "[email protected]"
ENV TERM xterm
RUN mkdir /etc/mysql/mysql.conf.d
RUN chmod 755 /etc/mysql/mysql.conf.d
RUN chown -R mysql:mysql /etc/mysql/mysql.conf.d
COPY my.cnf /etc/mysql/my.cnf
Centos サーバーでのみこのエラーが返されることを考慮してください。ローカルで試したところ、正常に動作しました。また、これを実行するために gitlab-runner を使用します。