gitlab runner: mysqld: Can't read dir of '/etc/mysql/conf.d/'

£可爱£侵袭症+ 提交于 2021-02-07 20:48:01

问题


I use gitlab runners in docker.

It uses our own php image and mysql:5.7 image. It worked before, but now we can see this error when CI job is started:

Running with gitlab-runner 10.4.0 (857480b6)
  on gitlab-runner-2 (00929f5e)
Using Docker executor with image registry.blahblah.work/infra/docker-base/php ...
Starting service mysql:5.7 ...
Pulling docker image mysql:5.7 ...
Using docker image mysql:5.7 ID=sha256:f008d8ff927dc527c5a57251b45cead7c9259c16a6a93c144f397eaafc103d36 for mysql service...
Waiting for services to be up and running...

*** WARNING: Service runner-00929f5e-project-4-concurrent-0-mysql-0 probably didn't start properly.

Error response from daemon: Cannot link to a non running container: /runner-00929f5e-project-4-concurrent-0-mysql-0 AS /runner-00929f5e-project-4-concurrent-0-mysql-0-wait-for-service/runner-00929f5e-project-4-concurrent-0-mysql-0

2018-02-13T08:49:03.752410664Z 
2018-02-13T08:49:03.752468595Z ERROR: mysqld failed while attempting to check config
2018-02-13T08:49:03.752476292Z command was: "mysqld --verbose --help"
2018-02-13T08:49:03.752481759Z 
2018-02-13T08:49:03.752486693Z mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13 - Permission denied)
2018-02-13T08:49:03.752491885Z mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

Variables are set:

variables:
  MYSQL_DATABASE: test
  MYSQL_ROOT_PASSWORD: password

What should I do to debug and fix this issue?


回答1:


you need to change your docker compose file, you should add privileged: true mine looks like :

  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


来源:https://stackoverflow.com/questions/48768828/gitlab-runner-mysqld-cant-read-dir-of-etc-mysql-conf-d

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!