Докер. Почему не работает контейнер?

Здравствуйте. Помогите пожалуйста раскурить докер.
Есть докерфайл для контейнера php с таким содержимым
FROM php:8.1-alpine

RUN apk add --no-cache \
        php8 \
        php8-fpm \
        libressl-dev  \
        postgresql-dev  \
        mc \
        nano \
        php8-ctype \
        php8-xmlreader \
        php8-xmlwriter \
        php8-fileinfo  \
        php8-gd  \
        php8-simplexml  \
        php8-bcmath \
        php8-redis \
        php8-curl \
        php8-xml \
        php8-zip \
        php8-dom \
        php8-mbstring \
        php8-sockets \
        php8-openssl \
        php8-phar \
        php8-iconv \
        php8-tokenizer \
        php8-pdo_pgsql \
        php8-pgsql \
        php8-session \
        curl
RUN docker-php-ext-install pdo pdo_pgsql

CMD ["php-fpm8", "-F"]

COPY . ./symfony

WORKDIR "/symfony"

RUN curl --silent --show-error https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install --ignore-platform-reqs

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
    install-php-extensions amqp


Контейнер запускается через docker-compose
version: '3'

services:
###> doctrine/doctrine-bundle ###
  base:
    container_name: base
    build:
      dockerfile: ./docker/base/Dockerfile
      context: ./
    links:
      - database
    ports:
      - "9000:9000"
    volumes:
      - ./:/symfony
  nginx:
    container_name: nginx
    build:
      dockerfile: ./docker/nginx/Dockerfile
      context: ./
    links:
      - base
      - database
    depends_on:
      - base
      - database
    ports:
      - "8080:80"
    restart: always
    volumes:
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
      - ./:/symfony
  database:
    image: postgres:${POSTGRES_VERSION:-13}-alpine
    environment:
      POSTGRES_DB: ${POSTGRES_DB:-app}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ChangeMe}
      POSTGRES_USER: ${POSTGRES_USER:-symfony}
    volumes:
      - db-data:/var/lib/postgresql/data:rw


Контейнеры собираются, но nginx кидает 502 ошибку, судя по выводу проблема на обращении по 9000 порту к контейнеру с php. Подумавши, пришел к выводу, что я использую не тот образ для php - мне ж php-fpm нужен, правильно? Меняем FROM php:8.1-alpine на FROM php:8.1-fpm-alpine. И конетйнер падает на моменте установки пакетов композером - composer.json не найден. Полез смотреть - примонтированный волюм "/symfony" пустой. А на образе php:8.1-alpine с волюмом все нормально... Что я делаю не правильно?
  • Вопрос задан
  • 710 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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