Докерская мути-сцена - PullRequest
       14

Докерская мути-сцена

0 голосов
/ 25 октября 2018

Здравствуйте, люди из Интернета, кто-нибудь знает, как или можно ли скопировать один этап многоэтапного Dockerfile в другой?

По различным причинам, связанным с бизнесом, я получил указание использовать несколькоЭтап Dockerfile, но мне действительно нужно объединить образ appserver и образ веб-сервера.Это прекрасно в docker-compose, так как вы можете ссылаться на каждый раздел - но я не уверен, что это можно сделать через GCP и Kubernetes.

Мой код Dockerfile приведен ниже.

FROM php:7.1-fpm as appserver

RUN apt-get update && apt-get install -y libpq-dev \
    && docker-php-ext-install pdo pdo_pgsql pgsql
RUN apt-get update && \
     apt-get install -y \
         zlib1g-dev \
         && docker-php-ext-install zip

COPY ./app /var/www/html

FROM nginx:stable-alpine as webserver
COPY ./app /var/www/html/
COPY vhost-prod.conf /etc/nginx/conf.d/default.conf

1 Ответ

0 голосов
/ 25 октября 2018

Не уверен, что вы пытаетесь достичь с помощью вашего Dockerfile выше.

  • Многоступенчатая сборка не для вышеуказанной цели
  • вы не можете бросить любую проблему при многоэтапной сборкеи решить ее
  • Многоступенчатая сборка состоит в том, чтобы собрать двоичные файлы / код и скопировать его в окончательный образ, чтобы вы не перенесли инструменты разработки в производство

Для вашего случая использованияПожалуйста, создайте два файла Docker, один для приложения, а другой для proxy / nginx, создайте их независимо и запустите / масштабируйте их независимо.

В случае подачи статического контента из nginx, вам просто нужно запустить nginxс объемным монтированием статического содержимого.

...