mysql - 如何在dockerfile中设置mysql用户名

标签 mysql docker dockerfile

在ubuntu中使用apt-get install mysql-server安装mysql时,安装时会询问mysql用户名和密码。

但是在使用dockerfile构建mysql镜像的时候,用户名和密码怎么提供呢?

我尝试使用 dockerfile 如下:

FROM ubuntu:14.04
apt-get update
apt-get install -y mysql-server

但是在构建镜像的时候,我发现不用用户名和密码就可以登录mysql了。

使用dockerfile构建镜像时如何设置用户名和密码?

最佳答案

如果你看一下官方的 Docker MySQL 镜像 Dockerfile ,你会发现他们是如何使用 debconf-set-selections .

相关说明为:

RUN { \
        echo mysql-community-server mysql-community-server/data-dir select ''; \
        echo mysql-community-server mysql-community-server/root-pass password ''; \
        echo mysql-community-server mysql-community-server/re-root-pass password ''; \
        echo mysql-community-server mysql-community-server/remove-test-db select false; \
    } | debconf-set-selections \
    && apt-get update && apt-get install -y mysql-server

debconf-set-selections 是一个工具,可让您为以后安装过程中提出的问题准备答案。

关于mysql - 如何在dockerfile中设置mysql用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145650/

相关文章:

MySQL从表中引用自己的id

php - 如何在 while 循环期间通过 if 条件更新表

linux - 错误 : Named volume "xplore:/root/xPlore/rtdata:rw" is used in service "dsearch" but no declaration was found in the volumes section

docker - App Engine Flexible - Docker 文件无法安装 GDAL

docker - 有什么理由比运行脚本更喜欢串联的RUN指令吗?

MySQL:检查用户是否存在并将其删除

PHP PDO 找不到驱动程序

mongodb - Docker 容器无法绑定(bind)到网络

docker - 使用 Docker 时如何在 Traefik 中使用 STS header

docker - 在从 Dockerfile 进行 docker 构建期间使用 STDIN