Сервис Docker MySql запускается только как администратор и никогда не остается с AWS AMI 2018.3 - PullRequest
0 голосов
/ 23 сентября 2019

Я создаю контейнер для разработки / тестирования, который содержит ряд элементов, включая сервер mysql, который должен запускаться внутри для доступа к коду.Чтобы продемонстрировать проблему, я запускаю следующую команду Dockerfile с docker run -i -t demo_mysql_server:

FROM amazonlinux:2018.03

RUN yum -y update && yum -y install shadow-utils mysql-server

К сожалению, после сборки Docker-контейнера я получаю общую ошибку соединения (см. 1 , 2 )

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

, что можно исправить, войдя в систему как администратор с docker run -i -u 0 -t demo_mysql_server и выполнив:

echo "NETWORKING=yes" >/etc/sysconfig/network
service network restart
/etc/init.d/mysqld start
chkconfig mysqld on

, который, кажется, все включает.Тем не менее, включение их в команды RUN, по-видимому, не приводит к включению службы и входу в систему, поскольку администратор требует перезапуска службы, как указано выше, добавления пользователя и работы в качестве пользователя без прав администратора, а также попытки запустить службу приводит к ошибкам внешнего вида.:

bash: /etc/sysconfig/network: Permission denied
[testUser@544a938c44c1 /]$ service network restart
[testUser@544a938c44c1 /]$ /etc/init.d/mysqld start
/etc/init.d/mysqld: line 16: /etc/sysconfig/network: No such file or directory
[testUser@544a938c44c1 /]$ chkconfig mysqld on
You do not have enough privileges to perform this operation.

Это нормальная ошибка, чтобы увидеть, и как мне заставить экземпляр MySQL-сервера продолжать работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...