Задать вопрос

Почему создание образа Docker зависает на стадии docker build?

Пытаюсь создать образ docker из файла Dockerfile, и всё вроде бы идет хорошо, но на стадии load metadata for docker.io/library процесс превращается в бесконечный. Это всё грузилось 40 минут и продолжало бы дальше. При этом никакой ошибки не возникает, просто отсчитываются секунды. Вот как это выглядит в полном виде:
/opt/docker/web-server$ docker build -t dmosk/webapp:v1 .
[+] Building 556.8s (2/3)
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 32B                                                                                0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/centos:8                                                      556.7s

Docker у меня на Ubuntu через WSL2, обычно проблем с ними не возникает. Я пыталась также создать образ по команде docker build -t dmosk/webapp:v1 ., но в этом случае высвечивается ошибка, что такой путь/файл не найден. Мне ждать до победного или что-то пошло не так?

Вот, собственно, сам Dockerfile:
FROM centos:8	
 
MAINTAINER Dmitriy Mosk <master@dmosk.ru>

ENV TZ=Europe/Moscow

RUN dnf update -y
RUN dnf install -y nginx php php-fpm php-mysqli
RUN dnf clean all
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN mkdir /run/php-fpm

COPY ./html/ /usr/share/nginx/html/

CMD php-fpm -D ; nginx

EXPOSE 80
  • Вопрос задан
  • 1271 просмотр
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@mureevms
Красным по черному же пижет, что
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist


Это проблема Centos, потому что он всё. Починить можно, но не в докере, смысла не имеет. Соберите на живом дистре тоже самое
Ответ написан
Viji
@Viji
DevOps Engineer
Используй амазон линукс, наиболее близкий с centos и все работает

FROM amazonlinux:2
 
ENV TZ=Europe/Moscow

RUN amazon-linux-extras enable nginx1

RUN yum update -y
RUN yum install -y nginx php php-fpm php-mysqli
RUN nginx -t
RUN yum clean all
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN mkdir -p /run/php-fpm

COPY ./html/ /usr/share/nginx/html/

CMD php-fpm -D ; nginx

EXPOSE 80
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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