MySQL conf файл в доке MySQL

0

Я запускаю MySQL 5.7.20 в контейнере докеров, созданного с использованием официального изображения докеры MySQL. Файл conf conf должен быть установлен на хост-системе Ubuntu.

В настоящее время контейнер докеров MySQL запускается с использованием команды

sudo docker run -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=test \
-v /root/test/mysql/var/lib:/var/lib/mysql \
-v /root/test/mysql/etc:/etc/mysql \
--name test-mysql \
mysql:5.7

Однако нет файлов conf в /root/test/mysql/etc... Подключен к bash контейнера docker и обнаружил, что /etc/mysql пуст!

Где находятся файлы conf? Должны ли быть какие-либо в /etc/mysql/conf.d/ и /etc/mysql/mysql.conf.d/?

Теги:
docker
mysql-5.7

1 ответ

2
Лучший ответ

Если вы запустите команду без установки каких-либо томов:

$ docker run -it mysql ls /etc/mysql
conf.d  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d

Если /root/test/mysql/etc существует как пустая папка, и вы монтируете его на /etc/mysql все содержимое /etc/mysql будет "заменено" на файлы в /root/test/mysql/etc

У вас может быть пустая /root/test/mysql/etc папка и выполните следующие действия:

docker volume create --driver local \
    --opt type=none \
    --opt device=/root/test/mysql/etc \
    --opt o=bind \
    mysql_vol

sudo docker run -d \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=test \
-v /root/test/mysql/var/lib:/var/lib/mysql \
-v mysql_vol:/etc/mysql \
--name test-mysql \
mysql:5.7
  • 0
    Я попытался удалить /root/test/mysql/etc затем запустить контейнер Docker, используя команду, указанную в вопросе. /root/test/mysql/etc создается, но он все еще пуст ... Я что-то не так делаю?
  • 0
    Также попытался удалить /root/test/mysql/etc , затем запустил контейнер Docker, используя ту же команду, сначала без монтирования /etc/mysql . Затем я остановил и удалил контейнер Docker и выполнил команду, содержащую оба аргумента -v . /root/test/mysql/etc создается сейчас, но все еще пусто ...
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню