Добрый день,
Решил попробовать в работе docker. docker и docker-compose поставил без проблем, у меня ubuntu 18.04.
Посмотрел статьи, собрал свой конфиг, не работает, вот что получилось у меня:
docker-compose.yml
# Версия docker-compose
version: '3'
# Список наших сервисов (контейнеров)
services:
apache:
image: httpd:latest
volumes:
- ./www:/var/www/html
- ./httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf
depends_on:
- php
nginx:
image: nginx:latest
# маршрутизируем порты
ports:
- "81:81"
# монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
volumes:
- ./www:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
depends_on:
- apache
php:
# у нас свой образ для PHP, указываем путь к нему и говорим что его надо собрать
build: ./images/php
# этот образ будет общаться с mysql
# монтируем директорию с проектами
volumes:
- ./www:/var/www/html
- ./images/php/php.ini:/usr/local/etc/php/php.ini
depends_on:
- mariadb
mariadb:
image: mariadb:latest
volumes:
- ./mariadb:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: qwerty
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mariadb:db
ports:
- 8765:81
environment:
MYSQL_ROOT_PASSWORD: qwerty
depends_on:
- mariadb
redis:
image: redis:latest
для nginx пришлось писать порт 81, так как при попытке сборки получал ошибку, что 80 уже слушают. в папке /nginx планирую хранить конфиги для разных сайтов:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name test.loc;
location ~ \.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root /var/www/html;
}
location ~ /\.ht {
deny all;
}
location / {
proxy_pass http://apache;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
}
}
Dockerfile:
FROM php:7.2-apache
RUN apt-get update
RUN docker-php-ext-install pdo pdo_mysql mysqli
итого, не работает и не могу найти уже ошибку.