Docker | CentOS | 运行 docker build 时 $releasever 为“”

Docker | CentOS | 运行 docker build 时 $releasever 为“”

我正在尝试从 CentOS 父映像构建 docker 映像...并安装 MongoDB。docker build添加 MongoDB 存储库时发生错误。

您可以看到发生错误是因为$releasever出于某种原因它是空白的。

Docker文件

FROM centos:latest
MAINTAINER "MyName" <[email protected]>
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

答案1

您没有转义$,因此该变量$releasever是在您的 shell 中解释的,而不是直接插入到echo命令输出中。

尝试\$releasever

相关内容