构建Docker映像时如何解决JFrog配置读取错误-[错误]打开/root/.jfrog/jfrog-cli.conf:只读文件系统

时间:2020-07-15 11:41:42

标签: docker artifactory

我正在构建docker映像并收到错误:

 => ERROR [14/36] RUN --mount=type=secret,id=jfrog-cfg,target=/root/.jfrog/jfrog-cli.conf     jfrog rt dl --flat artifact  0.7s
------                                                                                                                       
 > [14/36] RUN --mount=type=secret,id=jfrog-cfg,target=/root/.jfrog/jfrog-cli.conf     jfrog rt dl --flat artifact/artifact.tar.gz;     set -eux;     mkdir -p /usr/local/artifact;     tar xzf artifact.tar.gz -C /usr/local/;     ln -s /usr/local/artifact /usr/local/artifact;:
#22 0.524 [Error] open /root/.jfrog/jfrog-cli.conf: read-only file system
------
failed to solve with frontend dockerfile.v0: failed to solve with frontend gateway.v0: rpc error: code = Unknown desc = failed to build LLB: executor failed running [/bin/bash -eo pipefail -c jfrog rt dl --flat artifact/${ART_TAG}.tar.gz;     set -eux;     mkdir -p /usr/local/${ART_TAG};     tar xzf ${ART_TAG}.tar.gz -C /usr/local/;     ln -s /usr/local/${ART_VERSION} /usr/local/artifact;]: runc did not terminate sucessfully

我用来构建docker镜像的命令是 DOCKER_BUILDKIT=1 docker build -t imagename . --secret id=jfrog-cfg,src=${HOME}/.jfrog/jfrog-cli.conf(jfrog配置位于${HOME}/.jfrog/jfrog-cli.conf

JFrog正在运行,我正在下载的工件存在,因为我可以在不使用docker的情况下手动下载它。

1 个答案:

答案 0 :(得分:0)

在Linux上,docker使用root用户运行,因此${HOME}/root而不是/home/your-user-name或您通常的主文件夹是什么。尝试使用显式完整路径名而不是env变量。