我需要为几个项目创建一个坞容器,用PHP7.3使用MySQL8.0
我喜欢创建它,因为我需要修改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发布于 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
https://stackoverflow.com/questions/57653995
复制相似问题