Я запускаю 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 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
/root/test/mysql/etc
затем запустить контейнер Docker, используя команду, указанную в вопросе./root/test/mysql/etc
создается, но он все еще пуст ... Я что-то не так делаю?/root/test/mysql/etc
, затем запустил контейнер Docker, используя ту же команду, сначала без монтирования/etc/mysql
. Затем я остановил и удалил контейнер Docker и выполнил команду, содержащую оба аргумента-v
./root/test/mysql/etc
создается сейчас, но все еще пусто ...