Может ли Docker протестировать образ как часть многоступенчатой ​​сборки? - PullRequest
0 голосов
/ 13 мая 2019

Мне нравится идея, что все мои микросервисы могут быть собраны как docker build . с использованием многоступенчатых сборок.

Тем не менее, мне также очень нравится делать тест на дым через быстрый docker run & curl /endpoint после сборки, чтобы проверить, что приложение действительно появляется.

Мне интересно, есть ли способ обернуть это в многоступенчатый Dockerfile? Я решил проблему отсутствия необходимости указывать правильный --target, просто вставив трейлинг FROM app.

Вот что я хотел бы сделать:

FROM alpine:latest as builder
WORKDIR /tmp/
RUN echo "#!/bin/sh" > helloworld.sh && \
    echo "echo hello world" >> helloworld.sh && \
    chmod oug+x helloworld.sh

FROM alpine:latest as app
WORKDIR /root/
COPY --from=builder /tmp/helloworld.sh .
CMD ["./helloworld.sh"]

FROM docker:latest as tester
# Fails - no docker daemon - impossible to mount /var/run/docker.sock during build ?
RUN output=`docker run --rm app`; if [ "$output" == 'hello world' ]; then exit 0; else exit 1; fi

FROM app # means the second image is the default output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...