首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为MySQL8.0构建码头容器失败

为MySQL8.0构建码头容器失败
EN

Stack Overflow用户
提问于 2019-08-26 08:04:22
回答 1查看 391关注 0票数 0

我需要为几个项目创建一个坞容器,用PHP7.3使用MySQL8.0

我喜欢创建它,因为我需要修改mysql启动配置。

为此,我创造了

Dockerfile

代码语言:javascript
复制
FROM mysql:8.0

COPY mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf

ENV MYSQL_ROOT_PASSWORD="123456"

mysqld_charset.cnf

代码语言:javascript
复制
[mysqld]
default-authentication-plugin = mysql_native_password
collation-server = utf8mb4_general_ci
character-set-server = utf8mb4

许可证和自述文件。

执行

代码语言:javascript
复制
$ docker build --no-cache -t mysql8_legacy_password .                                                                     
Sending build context to Docker daemon  14.85kB
Step 1/3 : FROM mysql:8.0
 ---> 62a9f311b99c
Step 2/3 : COPY mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf
 ---> 0e21143ae822
Step 3/3 : ENV MYSQL_ROOT_PASSWORD="123456"
 ---> Running in a8d350dbd651
Removing intermediate container a8d350dbd651
 ---> 7dd66b27be00
Successfully built 7dd66b27be00
Successfully tagged mysql8_legacy_password:latest

$  docker run --name mysql8_legacy_password  -it mysql:8.0                                                                
error: database is uninitialized and password option is not specified 
  You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-26 08:29:19

问题在run命令中。

docker run --name mysql8_legacy_password -it mysql:8.0

您正在尝试从没有设置env的mysql:8.0映像中启动容器。

docker run命令的最后一个参数应该是图像名。由于您已经将您的图像标记为mysql8_legacy_password,所以应该可以这样做:

docker run --name container_name -it mysql8_legacy_password

码头运行

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57653995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档