我找不到任何关于如何在非交互方式中在 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 镜像