安装 mysql-5.6 非交互

安装 mysql-5.6 非交互

我找不到任何关于如何在非交互方式中在 docker 容器中安装 mysql-5.6 的解决方案。我找到了以下命令,但它们需要用户输入:

# Update the repo list, execute :
wget http://repo.mysql.com/mysql-apt-config_0.2.1-1debian7_all.deb
dpkg -i mysql-apt-config_0.2.1-1debian7_all.deb

# Install
apt-get update
apt-get install mysql-server-5.6

非交互式安装有没有更好的解决方案?

答案1

安装mysql56码头工人,您实际上应该使用以下内容:

MySQL 是一种广泛使用的开源关系数据库管理系统 (RDBMS)。

例子:

$ docker run -d mysql:5.6
Unable to find image 'mysql:5.6' locally
Trying to pull repository docker.io/library/mysql ... 5.6: Pulling from library/mysql

23286f48d129: Pull complete 
cbee5247e891: Pull complete 
ed751d9dbe3b: Pull complete 
66a9f45a6f88: Pull complete 
f50b60617e9c: Pull complete 
c03269bf1687: Pull complete 
b14dd0099b51: Pull complete 
9acd57cae939: Pull complete 
3153a44fc5c3: Pull complete 
8b36d77ab230: Pull complete 
d574478a62d8: Pull complete 
ac82a224055d: Pull complete 
e3ce3c9ce67d: Pull complete 
57c790472a9d: Pull complete 
49772bf40877: Pull complete 
73f07a1d187e: Pull complete 
3446fa8ab4bb: Pull complete 
70c40ffe6275: Pull complete 
54672d2ddb6f: Pull complete 
Digest: sha256:03646869dfecf96f443640f8b9040fbde78a96269aaf47bbfbb505a4c1adcad9
Status: Downloaded newer image for docker.io/mysql:5.6

c6e1f30da1435f2c10e8cd2170d69e67d5cb8e307e1ce52af35506813537971a
$ 

或者, 您可以使用Docker 组成也一样。

答案2

我不确定这是否适用于 dpkg,因为我很少使用 debian,但 Unix 通常有一种使交互式任务可编写脚本的方法:

shell#] cat > answers.txt << EOF
answer1
true
yes
no
answer10
EOF
shell#] interactive-command < answers.txt

answers.txt 文件中的每一行都回答了交互式设置过程中的一个问题。您不必像示例中那样使用 HERE 文档;vim、pico、nano 等都可以创建答案文件。

在 Dockerfile 中,您可以添加 answers.txt 文件,然后运行命令,将答案文件传送到交互式命令的标准输入。

答案3

对于特定问题,例如apt-get install mysql-server-5.6需要交互,您需要传递-y给 apt-get。

但是,你还需要执行一些其他步骤才能获得完全自定义的 docker 镜像

相关内容