Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Dockerfile运行读取命令时出错_Mysql_Bash_Docker_Dockerfile - Fatal编程技术网

Mysql Dockerfile运行读取命令时出错

Mysql Dockerfile运行读取命令时出错,mysql,bash,docker,dockerfile,Mysql,Bash,Docker,Dockerfile,各位同事下午好,我正在与Docker一起制作一些图像,我发现一些设备会向用户询问密码等问题 在创建图像的过程中,可能会询问用户,然后将该仪表传递给另一个命令,例如,此代码向我发送一个错误 FROM ubuntu:16.04 SHELL ["/bin/bash","-c"] RUN ["echo","========== Enter root password for db =========="] RUN ["/bin/bash","read","pass"] RUN debconf-set-s

各位同事下午好,我正在与Docker一起制作一些图像,我发现一些设备会向用户询问密码等问题

在创建图像的过程中,可能会询问用户,然后将该仪表传递给另一个命令,例如,此代码向我发送一个错误

FROM ubuntu:16.04
SHELL ["/bin/bash","-c"]
RUN ["echo","========== Enter root password for db =========="]
RUN ["/bin/bash","read","pass"]
RUN debconf-set-selections <<< "mysql-server mysql-server/root_password password $pass"
RUN debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $pass"`
来自ubuntu:16.04的

SHELL[“/bin/bash”,“-c”]
运行[“echo”,“===================输入数据库的根密码====================”]
运行[“/bin/bash”、“读取”、“传递”]

运行debconf set selectionsdocker build在非交互模式下运行-这意味着在构建映像时,它无法处理从用户输入接收密码的读取命令

我建议改用build args docker特性-参见此处
所以,您可以在构建映像之前从用户处读取pass,然后通过build arg将其传递给构建进程,但请记住,使用shell命令和纯文本传递密码并不是真正安全的

docker build在非交互模式下运行-这意味着在生成映像时,它无法处理从用户输入接收密码的读取命令

我建议改用build args docker特性-参见此处
所以,您可以在构建映像之前从用户处读取pass,然后通过build arg将其传递给构建进程,但请记住,使用shell命令和纯文本传递密码并不是真正安全的

为什么你的道路上有空间
/bin/bash
很抱歉没有空格,我刚刚编辑了我的代码(复制粘贴错误)为什么路径中有空格
/bin/bash
很抱歉没有空格,我刚刚编辑了我的代码(复制粘贴错误)嗯,我明白了,我认为您可以在构建时直接从用户传递参数,而无需通过选项
--build arg
,谢谢您的回答,我的朋友。嗯,我明白了,我认为您可以在构建时直接从用户传递参数,而无需通过选项
--build arg
,谢谢您的回答,我的朋友。