Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql 6.5 docker run“;未知标志:--字符集服务器;_Mysql_Docker - Fatal编程技术网

mysql 6.5 docker run“;未知标志:--字符集服务器;

mysql 6.5 docker run“;未知标志:--字符集服务器;,mysql,docker,Mysql,Docker,我尝试从docker运行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 Dockerfil

我尝试从docker运行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的一个bug吗


图像是从

中提取的,您所写的内容意味着您将
--字符集服务器
--排序服务器
作为参数传递给
docker
,而传递给
mysql

一旦这些标志与MySQL相关,您就必须将它们传递给MySQL服务,而不是docker。容器的命令行在映像名之后立即启动(
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是否从环境中接受此类参数,您所写的内容意味着您将
--字符集服务器
--排序服务器
作为参数传递给
docker
,而传递给
MySQL

一旦这些标志与MySQL相关,您就必须将它们传递给MySQL服务,而不是docker。容器的命令行在映像名之后立即启动(
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是否像@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

正如@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

谢谢,提醒我发生了什么。在你的回答中,只要删除mysql,它就会工作。谢谢,提醒我发生了什么。在您的回答中,只要删除mysql,它就可以工作了。