Centos

碼頭工人 |中央作業系統 |執行 docker build 時 $releasever 為 ''

  • June 16, 2019

我正在嘗試從 CentOS 父映像建構 docker 映像……並安裝 MongoDB。docker build添加 MongoDB 儲存庫時發生錯誤。

您可以看到錯誤正在發生,因為由於$releasever某種原因是空白的。

DockerFile

FROM centos:latest
MAINTAINER "MyName" <myemail@gmail.com>
ENV container docker
RUN echo -e "\
[mongodb-org-4.0]\n\
name=MongoDB Repository\n\
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/\n\
gpgcheck=1\n\
enabled=1\n\
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc\n" >> /etc/yum.repos.d/mongodb-org-4.0.repo
RUN yum repolist all
RUN yum install -y mongodb-org

錯誤

https://repo.mongodb.org/yum/redhat//mongodb-org/4.0/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

您沒有轉義$,因此該變數$releasever在您的 shell 中被解釋,而不是按字面意思插入到echo命令輸出中。

試試\$releasever

引用自:https://serverfault.com/questions/971660