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

Как сделать docker build внутри Dockerfile?

Есть Dockerfile (важная часть выделена жирным):

FROM docker:dind
RUN apk add --no-cache go
RUN go version
WORKDIR /app
COPY go.mod ./
ADD index.html /app/index.html
ADD dock /app/dock
ADD flag.txt /app/flag.txt
#COPY go.sum ./
RUN go mod download
COPY *.go ./
RUN go build -o /main
EXPOSE 8080
RUN mv dock Dockerfile
RUN docker build -t interesting_container .
RUN docker run -t -d interesting_container
CMD [ "/main" ]



Я хочу, чтобы мой контейнер создавал другой контейнер и помещал туда текстовый файлик (делаю задание для ctf).
При попытке собрать это в image получаю ошибку:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?


Гуглил уже все что можно, но единственное что я нашел это то, что мешать может последняя команда CMD.
Действительно, без неё можно собрать второй Dockerfile, но только руками через docker exec.
Что мне нужно сделать, чтобы и второй контейнер запускался внутри первого и приложение на Go работало(веб сервер)? P. S. По отдельности все эти элементы (первый контейнер, второй контейнер и приложение) работают полностью как нужно без ошибок.
  • Вопрос задан
  • 135 просмотров
Подписаться 2 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@Drno
Докер это контейнер. Вы не можете запустить контейнер внутри контейнера...
Вам надо запускать 2 контейнера...

Вы можете запустить LXC\LXD, а внутри уже докер.... разве что
Ответ написан
Ваш ответ на вопрос

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

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