MySQL не запускается в Docker при монтировании / etc для хоста - PullRequest
0 голосов
/ 05 декабря 2018

Я использую приведенную ниже команду для запуска контейнера MySQL:

docker run --name mysql-for-teamcity \
-e MYSQL_ROOT_PASSWORD=FAKE-ROOT-PWD \
-v ~/MySQL/var_lib_mysql:/var/lib/mysql \
-v ~/MySQL/etc:/etc \
-p 3306:3306 \
-p 33060:33060 \
-it mysql

Но MySQL не запускается и жалуется:

ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"

mysqld: Error on realpath() on '/var/lib/mysql-files' (Error 2 - No such file or directory)
2018-12-05T07:33:50.856816Z 0 [ERROR] [MY-010095] [Server] Failed to access directory for --secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Supplied value : /var/lib/mysql-files
2018-12-05T07:33:50.859460Z 0 [ERROR] [MY-010119] [Server] Aborting

Если я удалю -v ~/MySQL/etc:/etc \, тогда MySQL будет запускаться правильно.

Почему я не могу подключить / etc к своему хосту в Docker?

1 Ответ

0 голосов
/ 05 декабря 2018

Это моя глупая ошибка;это должен быть RTFM вопрос.

В соответствии с Руководством по Docker , Bind mounts используются для связывания директории в контейнере, а не out .

Поэтому, когда я укажу -v ~/MySQL/etc:/etc, содержимое моего "~ / MySQL / etc" будет скрывать исходное содержимое в "/ etc" образа MySQL.

Вот почему mysqld не удалось при попытке проверить конфигурацию.Поскольку конфиг не существует в моем "~ / MySQL / etc /".

, я оставляю ответ здесь на тот случай, если кто-то другой не прочитает руководство: (

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