gpt4 book ai didi

mysql - 为Mysql 8.0构建docker容器失败

转载 作者:行者123 更新时间:2023-11-29 09:35:40 24 4
gpt4 key购买 nike

我需要为几个使用 Mysql 8.0 和 PHP 7.3 的项目创建一个 docker 容器

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

为此我创建了

Dockerfile

FROM mysql:8.0

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

ENV MYSQL_ROOT_PASSWORD="123456"

mysqld_charset.cnf

[mysqld]
default-authentication-plugin = mysql_native_password
collation-server = utf8mb4_general_ci
character-set-server = utf8mb4

许可证和自述文件。

执行

$ 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

最佳答案

问题出在运行命令中。

docker run --name mysql8_legacy_password -it mysql:8.0

您正在尝试从尚未设置环境的 mysql:8.0 镜像启动容器。

docker run 命令的最后一个参数应该是镜像名称。由于您已将镜像标记为 mysql8_legacy_password,因此这应该有效:

docker run --name container_name -it mysql8_legacy_password

docker run

关于mysql - 为Mysql 8.0构建docker容器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57653995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com