Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js docker映像中的命令未传递到管道_Node.js_Docker_Gitlab_Gitlab Ci_Yarnpkg - Fatal编程技术网

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中的命令不会影响主机,只会影响映像。如果将此图像用作工作图像,则无需再次设置