Отдельный Dockerfile для dav и prod - PullRequest
0 голосов
/ 01 апреля 2019

Я новичок в Docker, поэтому, пожалуйста, не вините меня:)

Есть ли способ создать два разных наследования файлов Docker из одного?Например, у нас должно быть 2 среды: разработка и производство.Их база одинакова:

FROM gcc
# it's just an example which shows the same base packets for both environment
RUN apt install lib-boost

Для «разработки» я должен установить некоторые утилиты, такие как gdb, valgrind и т. Д. Для «производства» мне нужно создать приложение.Предполагалось использовать «многоэтапные сборки», но он последовательно выполняет шаги в Dockerfile.Как мне поступить, если я не хочу создавать приложение в «разработке»?

Первая сборка базового образа:

build -t base_image .

И затем для каждогоDockerfile использовать это?

# for develop
FROM base_image
RUN apt install gdb
# for prod
FROM base_image
RUN make

1 Ответ

0 голосов
/ 07 мая 2019

Вот пример, который я сейчас использую.

Базовый образ Dockerfile:

FROM python:3.6-slim as base

RUN apt update
RUN apt install --no-install-recommends -y git-core build-essential \
 && apt autoclean
# ...

Prod image Dockerfile:

FROM your-registry/base:0.0.0 as prod

# your code
# ...

Надеюсь, это будет полезно для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...