Докер mysql 6.5 запускает "неизвестный флаг: --character-set-server" - PullRequest
0 голосов
/ 15 января 2019

Я пытался запустить mysql 5.6 из докера следующим образом:

docker run --name mysqlxx -e MYSQL_ROOT_PASSWORD=xxx \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
-d mysql:5.6

, но получил следующую ошибку

unknown flag: --character-set-server

Кто-нибудь знает, что происходит?это ошибка в MySQL 5.6 Dockerfile?

изображение извлечено из https://hub.docker.com/_/mysql

Ответы [ 2 ]

0 голосов
/ 18 января 2019

, как сказал @grapes, аргументы следует указывать после имени изображения. ниже работает команда.

docker run --name mysqlxx -p 3336:3306 \
-e MYSQL_ROOT_PASSWORD=xxx -d mysql:5.6 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
0 голосов
/ 15 января 2019

То, что вы написали, означает, что вы передаете --character-set-server и --collation-server в качестве аргументов docker, а НЕ mysql.

Как только эти флаги связаны с MySQL, вы должны передать их службе MySQL, а не докеру. Командная строка для контейнера начинается сразу после имени изображения (mysql:5.6). Это будет выглядеть примерно так:

docker run --name mysqlxx -e MYSQL_ROOT_PASSWORD=xxx -d mysql:5.6 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 

Если вы можете предоставить их в качестве среды, лучше используйте этот подход, но вам придется добавить -e для каждой переменной среды. Извините, я понятия не имею, принимает ли MySQL такие параметры из окружения

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