0

我已经按照这个https://www.openscg.com/bigsql/package-manager/但是在最后一个命令如何提供密码

我想通过 pgc 安装 pg96 。

一切正常 pgc 都安装在我的系统中,但是当我想安装 pg96 时,它会给出错误和线索。

步骤 18/19 : RUN ./pgc start pg96 ---> 在 00938b13380c 中运行

初始化 pg96

 Step 18/19 : RUN ./pgc start pg96
 ---> Running in 00938b13380c

## Initializing pg96 #######################

/usr/lib64/python2.7/getpass.py:83: GetPassWarning: Can not control echo on the terminal.
  passwd = fallback_getpass(prompt, stream)
Warning: Password input may be echoed.
Superuser Password [password]: Traceback (most recent call last):
  File "/bigsql/pg96/init-pg96.py", line 112, in <module>
    pg_password = util.get_superuser_passwd()
  File "/bigsql/hub/scripts/util.py", line 1344, in get_superuser_passwd
    pg_pass1 = getpass.getpass(str("Superuser Password [password]: "))
  File "/usr/lib64/python2.7/getpass.py", line 83, in unix_getpass
    passwd = fallback_getpass(prompt, stream)
  File "/usr/lib64/python2.7/getpass.py", line 118, in fallback_getpass
    return _raw_input(prompt, stream)
  File "/usr/lib64/python2.7/getpass.py", line 135, in _raw_input
    raise EOFError
EOFError

当我在做 ./pgc 启动 pg96

它要求输入密码,因为我在使用 docker 文件时如何提供密码。

4

2 回答 2

0

我为这个问题找到的答案是这样的。

Pg96 使用 python 脚本检查任一 .pgpass 文件,因此安装后在 pg96 目录中创建一个文件 .pgpass。

或者如果它没有得到文件,那么它会在命令提示符下询问密码。

我的建议是在文件夹 pg96 中创建一个 .pgpass 文件。

然后运行命令

./pgc 开始 pg96

谢谢

于 2017-08-11T08:05:48.443 回答
0

你至少有两种方式

1)您可以尝试将是/否传递给您的安装脚本。

RUN sh -c '/bin/echo -e "yes\nyes\nyes\nno\nyes\nno" | your_script'

2)或者你也可以用expect试试

RUN apt-get install expect ADD install_script RUN install_script

install_script 在哪里

#!/usr/bin/expect set timeout 2 spawn "./your_script" expect "Question 1 :" { send "yes\n" } expect "Question 2 :" { send "no\n" } interact

这来自

https://forums.docker.com/t/dockerfile-how-to-answer-install-question-from-application/5240/2

于 2017-08-10T13:02:50.700 回答