Я работаю над версией PyroCMS для докеров. Это repository У меня есть последние файлы. Как видите, у меня есть стек: CentOS 7 (с Supervisord), MySQL, Apache и PHP. Это docker-compose.yml
файл:Контейнерная остановка из-за: "httpd: Не удалось открыть файл конфигурации /etc/httpd/conf/httpd.conf: Нет такого файла или каталога", почему?
version: '2.1'
services:
httpd:
build: docker/httpd
ports:
- "8080:80"
volumes_from:
- php-fpm
php-fpm:
build:
context: docker/php-fpm
args:
INSTALL_XDEBUG: "false"
INSTALL_MONGO: "false"
INSTALL_REDIS: "false"
INSTALL_HTTP_REQUEST: "false"
INSTALL_UPLOAD_PROGRESS: "false"
INSTALL_XATTR: "false"
depends_on:
db:
condition: service_healthy
db:
image: mysql
healthcheck:
test: "exit 0"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
Это Dockerfile
для httpd
изображения:
FROM reynierpm/centos7-supervisor
RUN yum install -y httpd nano && \
yum clean all && rm -rf /tmp/yum*
RUN rm -f /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/* /etc/httpd/conf.modules.d/*
COPY container-files/
EXPOSE 80
У меня возникли проблемы с момента httpd
контейнера выхода со статусом 1 и увидеть журналы я получил следующее :
httpd_1 | httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: No such file or directory
На первый взгляд, вы говорите:
вы удаляете файлы !!! в этой строке RUN rm -f /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/* /etc/httpd/conf.modules.d/*
И вы правы, но если вы внимательно посмотрите, вы увидите я копирую его обратно (потому что я бегу в минимальной конфигурации Apache) в строке:
COPY container-files/
Я не уверен, почему файл не найден и почему контейнер останавливается и выходит, может ли кто-нибудь взглянуть на это и сообщить, где я делаю ошибку, если он есть?
Я бы развернул оболочку bash с новым контейнером контейнера службы «httpd» и вручную исследовал каталоги. Вы можете обнаружить, что команда 'COPY' не помещает файлы конфигурации там, где вы ожидаете их. Для этого: 'docker-compose run --rm httpd bash'. Я предполагаю, что изображение centos установлено bash. – fideloper
проверьте, что показывает 'docker run -it httpd bash' и ls, чтобы проверить, присутствует ли ваш файл. – user2915097