Я вижу два возможных решения для вашей проблемы:
выполняется в обход Entrypoint для MySQL изображения
Найти свое имя изображения, выполнив docker images
затем запустить:
docker run -it --entrypoint="/bin/sh" OPTIONS image
Это должно отведите вас в bash внутри контейнера, и оттуда вы можете выполнить все команды, которые вы хотите найти в файле my.cnf
. Хотя я не знаю, если редактирование файла оттуда, сохраните его и попробуйте запустить его снова, будет работать. Я не пробовал.
Удалить старое изображение и использовать надлежащим образом, чтобы отредактировать my.cnf
файлу
Найти свое имя изображения, выполнив: docker images
, а затем удалить его, запустив docker rmi <image_name>
Проверьте документацию для MySQL по умолчанию изображения на MySQL Dockerhub довольно прямо на это, и я цитирую:
Использование пользовательских данных MySQL файл конфигурации при запуске MySQL
конфигурация задается в файле /etc/mysql/my.cnf, и что файл в свою очередь, включает в себя любые файлы, найденные в каталоге /etc/mysql/conf.d , которые заканчиваются с .cnf. Настройки в файлах в этом каталоге будут дополнять и/или переопределять настройки в /etc/mysql/my.cnf. Если вы хотите, чтобы использовали настраиваемую конфигурацию MySQL, вы можете создать свой альтернативный файл конфигурации в каталоге на хост-машине, а затем установить в это расположение каталога как /etc/mysql/conf.d внутри контейнера mysql .
Если /my/custom/config-file.cnf это путь и имя файла конфигурации пользовательских , вы можете начать свой MySQL контейнер, как это (обратите внимание, что используется только путь к директории пользовательского файла конфигурации в этой команде):
$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
Это запустит новый контейнер некоторые-MySQL, где экземпляр MySQL использует объединенные параметры запуска из /etc/mysql/my.cnf и /и т.д./MySQL /conf.d/config-file.cnf, с настройками из последних имеет преимущество.
С этого момента, и если вы создаете файл my.cnf
на хосте, то вы никогда не столкнетесь с этой проблемой снова, так как вы можете редактировать файл столько раз, сколько вы хотите.
сообщение Dockerfile, команда 'docker run'command, любые детали помогают, и вам нужно будет создать новое изображение. – user2915097
Я использую ** docker run --restart = always --log-opt max-size = 10m --log-opt max-file = 10 --name mysql -e MYSQL_ROOT_PASSWORD = pass -d mysql **, поэтому не используется dockerfile. – Synomi
ваше изображение mysql происходит откуда? Когда вы его изменили, как вы это сделали? просто 'docker exec', а затем' docker commit'? Можете ли вы опубликовать «docker images» grep mysql' – user2915097