mysql 6.5 docker run“;未知标志:--字符集服务器;
我尝试从docker运行mysql 5.6,如下所示: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 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,它就可以工作了。