Я пытаюсь построить установку из 2 контейнеров с PHP и NGINX контейнером. Я использую docker -compose для настройки контейнеров с некоторыми настройками проекта c. Рядом с этим в моем каталоге root есть Dockerfile, в котором есть несколько этапов сборки для самого проекта. Как только проект будет собран, я хочу скопировать его во вновь настроенный контейнер NGINX из docker -compose. Однако я получаю 2 NGINX контейнера, а не PHP контейнера. Где я ошибаюсь?
├── Dockerfile
├── app
├── docker-compose
│ ├── nginx
│ │ ├── Dockerfile
│ │ ├── conf.d
│ │ │ └── site.conf
│ │ └── nginx.conf
│ └── php
│ └── Dockerfile
├── docker-compose.yml
docker -compose.yml
version: '3.7'
services:
php:
build:
args:
user: shepherd
uid: 1000
context: .
dockerfile: docker-compose/php/Dockerfile
image: scan-en-win
container_name: scan-en-win-php
restart: unless-stopped
working_dir: /var/www
nginx:
build:
context: .
dockerfile: docker-compose/nginx/Dockerfile
image: scan-en-win
container_name: scan-en-win-nginx
restart: unless-stopped
working_dir: /var/www
Dockerfile
# Composer dependencies
FROM composer:latest as vendor
COPY database/ database/
COPY composer.json composer.json
COPY composer.lock composer.lock
RUN composer install \
--ignore-platform-reqs \
--no-interaction \
--no-plugins \
--no-scripts \
--prefer-dist
# Front end
FROM node:10 as frontend
RUN mkdir -p /app/public
COPY package.json webpack.mix.js yarn.lock /app/
COPY resources/js/ /app/resources/js/
COPY resources/sass/ /app/resources/sass/
WORKDIR /app
RUN yarn install && yarn production
FROM scan-en-win-nginx
COPY . /var/www/
COPY --from=vendor /app/vendor/ /var/www/vendor/
COPY --from=frontend /app/public/js/ /var/www/public/js/
COPY --from=frontend /app/public/css/ /var/www/public/css/
COPY --from=frontend /app/mix-manifest.json /var/www/mix-manifest.json
docker -compose / nginx / Dockerfile
FROM nginx:stable
COPY docker-compose/nginx/nginx.conf /etc/nginx
COPY docker-compose/nginx/conf.d/site.conf /etc/nginx/conf.d/site.conf
docker -compose / php / Dockerfile
FROM php:7.2-fpm
# Defined in docker-compose.yml
ARG user
ARG uid
# Install dependencies
RUN apt-get update && apt-get install -y \
wget \
curl \
git \
libpng-dev \
libonig-dev \
libxml2-dev \
libcurl4-gnutls-dev \
zip \
unzip \
gettext-base
# Clean up
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install PHP modules
RUN docker-php-ext-install \
pdo_mysql \
zip \
gd \
curl \
mbstring \
xml \
bcmath \
json
RUN pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis
# Create a system user for commands
RUN useradd -G www-data,root -u $uid -d /home/$user $user
RUN mkdir -p /home/$user \
&& chown -R $user:$user /home/$user