Докер сочинять apache не работает

Я пытаюсь запустить контейнер, используя docker compose. Я уже сделал это, используя обычные команды Docker, и это работает, но когда я делаю то же самое с помощью Docker Compose, он не работает, как ожидалось.

Я компилирую образ с помощью команды docker compose build:

docker-compose build php

и использовать этот образ для команд docker и docker-compose.

docker run -p 80:80 -v /navicu docker_php
docker-compose up php

Я легко изменяю порт одного контейнера, чтобы они никогда не рухнули. Например: порт 80 в Docker и 800 в Docker-compose.

Проблема в том, что независимо от того, что я делаю, контейнер docker-compose не работает должным образом. Он не разрешает соединения на локальном хосте (он показывает ошибку 500). С другой стороны, Docker-контейнер разрешает соединение и показывает страницу, как и ожидалось.

Вот docker-compose.yml:

php:
build: .
ports:
- "80:80"volumes:
- ./navicu:/navicu

PD: Dockerfile использует официальный образ php-apache и добавляет файл vhost.conf.

0

Решение

docker run не эквивалентно составному файлу. Если вы попытаетесь

docker run -p 80:80 -v $PWD/navicu:/navicu docker_php

было бы то же самое, и я ожидаю, что вы увидите ту же ошибку 500.

Эквивалентные объемы составления будут

volumes:
- /navicu

Я полагаю, что причина ошибки 500 в том, что вы заменяете содержимое контейнера в /navicu с файлами в каталоге хоста, которые, вероятно, не являются правильными или отсутствуют.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]