Alpine Docker based Image下的错误运行 gitlab-ci.yml脚本
Error running gitlab-ci.yml script under Alpine Docker based Image
所以,当 运行 使用 Gitlab CI 部署作业时,我需要 运行 ssh。我使用 https://hub.docker.com/r/nmfzone/ssh-client-light/
docker 图片。
但是,我不能。因为抛出了这个错误。
Checking out 32af65e1 as development...
Skipping Git submodules setup
Unknown cipher type 'if [ -x /usr/local/bin/bash ]; then
exec /usr/local/bin/bash
elif [ -x /usr/bin/bash ]; then
exec /usr/bin/bash
elif [ -x /bin/bash ]; then
exec /bin/bash
elif [ -x /usr/local/bin/sh ]; then
exec /usr/local/bin/sh
elif [ -x /usr/bin/sh ]; then
exec /usr/bin/sh
elif [ -x /bin/sh ]; then
exec /bin/sh
else
echo shell not found
exit 1
fi
我该如何解决?
我在构建 https://hub.docker.com/r/nmfzone/ssh-client-light/
镜像时在 Dockerfile 中使用了这个配置。
FROM gliderlabs/alpine:3.4
RUN apk update && \
apk add --update bash && \
apk add openssh-client
# Security fix for CVE-2016-0777 and CVE-2016-0778
RUN echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config
ENTRYPOINT ["ssh"]
要么使用 gitlab 的 ssh 执行器,要么在脚本中将 docker 的入口点更改为适当的 shell 和 运行 ssh。 Gitlab 的 docker 运行ner 不支持不是 shell.
的入口点
对于也有此问题的人,如果您安装了 bash shell.
,则您的 Dockerfile 中需要这样的东西
ENTRYPOINT ["/bin/bash", "-c"]
所以,当 运行 使用 Gitlab CI 部署作业时,我需要 运行 ssh。我使用 https://hub.docker.com/r/nmfzone/ssh-client-light/
docker 图片。
但是,我不能。因为抛出了这个错误。
Checking out 32af65e1 as development...
Skipping Git submodules setup
Unknown cipher type 'if [ -x /usr/local/bin/bash ]; then
exec /usr/local/bin/bash
elif [ -x /usr/bin/bash ]; then
exec /usr/bin/bash
elif [ -x /bin/bash ]; then
exec /bin/bash
elif [ -x /usr/local/bin/sh ]; then
exec /usr/local/bin/sh
elif [ -x /usr/bin/sh ]; then
exec /usr/bin/sh
elif [ -x /bin/sh ]; then
exec /bin/sh
else
echo shell not found
exit 1
fi
我该如何解决?
我在构建 https://hub.docker.com/r/nmfzone/ssh-client-light/
镜像时在 Dockerfile 中使用了这个配置。
FROM gliderlabs/alpine:3.4
RUN apk update && \
apk add --update bash && \
apk add openssh-client
# Security fix for CVE-2016-0777 and CVE-2016-0778
RUN echo -e 'Host *\nUseRoaming no' >> /etc/ssh/ssh_config
ENTRYPOINT ["ssh"]
要么使用 gitlab 的 ssh 执行器,要么在脚本中将 docker 的入口点更改为适当的 shell 和 运行 ssh。 Gitlab 的 docker 运行ner 不支持不是 shell.
的入口点对于也有此问题的人,如果您安装了 bash shell.
,则您的 Dockerfile 中需要这样的东西ENTRYPOINT ["/bin/bash", "-c"]