我尝试在docker上运行MySQL5.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吗?
发布于 2019-01-15 21:15:29
您所编写的代码意味着您将--character-set-server和--collation-server作为参数传递给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是否接受来自环境的这样的参数
发布于 2019-01-18 20:40:35
正如@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_cihttps://stackoverflow.com/questions/54199358
复制相似问题