Node.js docker映像中的命令未传递到管道
在基于Node.js docker映像中的命令未传递到管道,node.js,docker,gitlab,gitlab-ci,yarnpkg,Node.js,Docker,Gitlab,Gitlab Ci,Yarnpkg,在基于节点12的映像的Dockerfile中,我有以下几行代码来添加自签名证书 RUN apt-get update && apt-get -yqq install ca-certificates RUN mkdir -p /usr/local/share/ca-certificates/domain COPY .docker/cert.crt /usr/local/share/ca-certificates/domain/ RUN update-ca-certificates
节点12的映像的Dockerfile
中,我有以下几行代码来添加自签名证书
RUN apt-get update && apt-get -yqq install ca-certificates
RUN mkdir -p /usr/local/share/ca-certificates/domain
COPY .docker/cert.crt /usr/local/share/ca-certificates/domain/
RUN update-ca-certificates --fresh
RUN yarn config set cafile /usr/local/share/ca-certificates/domain/cert.crt
当我还添加运行纱线配置列表时
我可以看到此设置已成功添加。之后,我构建并将我的图像推送到注册表中
但是现在,当我在.gitlab ci.yml
中使用它并使用纱线安装时,我得到一个错误,即链中有一个自签名证书
当我在管道中使用warn config list
时,它不会显示cafile
,就好像没有使用图像中设置的一样
当我将warn config set cafile/usr/local/share/ca certificates/domain/cert.crt
添加到管道的脚本部分时,它可以正常工作,这意味着
我的图像是正确构建的,因为它在正确的位置有证书,如果手动添加,它可以工作
不知何故,配置没有从映像持久化到管道
我检查了Dockerfile
,没有用户集,这可能意味着它在不同的用户下运行,是吗
在映像中添加证书时,为什么不起作用?Dockerfile中的命令不会影响主机,只会影响映像。如果将此图像用作工作图像,则无需再次设置