скрипт ожидания вызова из dockerfile неожиданно завершил работу - PullRequest
0 голосов
/ 21 февраля 2019

содержимое файла Docker:

From freeradius/freeradius-server
COPY eccCertImport /
RUN apt-get update -y && apt-get install -y expect
RUN ["/bin/sh","/eccCertImport"]

eccCertImport file content:
#!/bin/bash +x
#!/usr/bin/expect
key_passphrase="test123";
set timeout -1
radius_cert_cmd="openssl pkcs12 -in radius_ecc_pfx -clcerts -out radius_ecc_cer -nokeys"
exp_cmd="spawn $radius_cert_cmd;
         expect \"Import Password:\"
         send \"${key_passphrase}\r\"
         interact"
result="$(expect -c "$exp_cmd" |  tee -a a.txt)"

, когда я выполняю docker build -t freeradius ., но обнаружил, что не удалось правильно выполнить сценарий ожидаемого просмотра с содержимым .txt:

root@6384c0a1d92f:/# cat a.txt
spawn openssl pkcs12 -in test.pfx -clcerts -out /etc/freeradius/certs/ecc_radius_cert.pem -nokeys
Enter Import Password:root@6384c0a1d92f:/#

при ожидаемых результатахследующим образом:

root@f11f33d5e5cd:/# cat a.txt
spawn openssl pkcs12 -in test.pfx -clcerts -out /etc/freeradius/certs/ecc_radius_cert.pem -nokeys
Enter Import Password:
MAC verified OK
root@f11f33d5e5cd:/# exit
...