Осваиваю докер, хочу поднять параллельно нгинкс для отдельного приложения ,и апач для битрикса-коробки на локальной машине.
Нгинкс настроил, хосты подключаются, все работает.
А вот с апачем возникли проблемы.
Я не понимаю принцип подключения апачем хостов. Если у нгинкс все ок, поменял что-то в хосте, ребутнул контейнер и радуешься, что все работает, то у апача какая-то хрень уже на этапе подключения хостов.
Я пробовал подключать через сборку докерфайла, но мне кидает такую ошибку (нет такой директории, но как мне тогда обратиться к папке с хостами?):
Building apache
Step 1/6 : FROM httpd:latest
---> 19459a872194
Step 2/6 : COPY ./hosts/apache2/sites-available/ /etc/apache2/sites-available
ERROR: Service 'apache' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder011831039/hosts/apache2/sites-available: no such file or directory
Сам докерфайл апача:
FROM httpd:latest
COPY ./hosts/apache2/sites-available/ /etc/apache2/sites-available
RUN a2dissite /etc/apache2/sites-available/000-default.conf
RUN a2dissite /etc/apache2/sites-available/default-ssl.conf
RUN a2ensite /etc/apache2/sites-available/bitrix.conf
RUN service apache2 restart #я не знаю, нужно ли перезапускать в контейнере сервис...
Пробовал еще так:
FROM httpd:latest
# COPY ./hosts/apache2/sites-available/ /etc/apache2/sites-available
RUN a2dissite ./hosts/apache2/sites-available/000-default.conf
RUN a2dissite ./hosts/apache2/sites-available/default-ssl.conf
RUN a2ensite ./hosts/apache2/sites-available/bitrix.conf
# RUN a2dissite /etc/apache2/sites-available/000-default.conf
# RUN a2dissite /etc/apache2/sites-available/default-ssl.conf
# RUN a2ensite /etc/apache2/sites-available/bitrix.conf
RUN service apache2 restart
Ошибка (нет команды? это как?):
Building apache
Step 1/5 : FROM httpd:latest
---> 19459a872194
Step 2/5 : RUN a2dissite ./hosts/apache2/sites-available/000-default.conf
---> Running in 63d83aa87984
/bin/sh: 1: a2dissite: not found
ERROR: Service 'apache' failed to build: The command '/bin/sh -c a2dissite ./hosts/apache2/sites-available/000-default.conf' returned a non-zero code: 127
docker-compose.yml:
version: "3.7"
services:
apache:
container_name: apache
image: httpd:latest
ports:
- "732:732"
volumes:
- ../../www:/var/www
- ./hosts/apache2:/usr/local/apache2/conf
- ./logs/apache2:/usr/local/apache2/logs
# command:
# - a2dissite /etc/apache2/sites-available/000-default.conf
# - a2dissite /etc/apache2/sites-available/default-ssl.conf
# - a2ensite /etc/apache2/sites-available/bitrix.conf
# - service apache2 restart
depends_on:
- php
nginx:
container_name: nginx
image: nginx:latest
ports:
- "740:740"
volumes:
- ../../www:/var/www
- ./hosts/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
depends_on:
- php
php:
container_name: php
build: ./images/php
volumes:
- ../../www:/var/www
links:
- mysql:db
mysql:
container_name: mysql
image: mysql
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
adminer:
image: adminer
restart: always
ports:
- "8080:8080"
links:
- mysql:db
Что я делаю не так?