Докер | CentOS | $ releasever имеет значение «» при запуске сборки докера

Я пытаюсь создать образ докера из родительского образа CentOS ... и устанавливаю MongoDB. Ошибка возникает, когда сборка докеров добавляет репозиторий 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
0
задан 17 June 2019 в 01:24
1 ответ

Вы не избежали $ , поэтому переменная $ releasever была интерпретируется в вашей оболочке, а не вставляется буквально в вывод команды echo .

Попробуйте \ $ releasever .

1
ответ дан 4 December 2019 в 15:41

Теги

Похожие вопросы