
Во-первых, я хотел бы сказать, что я полный новичок в Docker и управлении серверами.
Я пытаюсь создать стек на основе Docker, включающий WordPress
, MariaDB
и nGinx
образы.
Он nGinx
будет использоваться как обратный прокси-сервер, и именно поэтому я устанавливаю его здесь.
У меня docker-compose.yml
так:
version: '3'
services:
mysql:
image: mariadb
env_file:
- ./.env
volumes:
- ./data:/var/lib/mysql
wordpress:
image: wordpress:php7.2
env_file:
- ./.env
volumes:
- ./wordpress:/var/www/html
ports:
- 42400:80
links:
- mysql
nginx:
build: ./docker/nginx
volumes:
- ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf
ports:
- 80:80
- 443:443
links:
- wordpress
depends_on:
- wordpress
Тогда Dockerfile
для Nginx
будет так:
FROM nginx:latest
RUN mkdir -p /data/nginx/cache
VOLUME ["/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx"]
EXPOSE 80
EXPOSE 443
WORKDIR /etc/nginx
CMD ["nginx"]
И наконец, nGinx
файл конфигурации выглядит так:
daemon off;
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/xml text/css text/comma-separated-values
text/javascript application/x-javascript application/atom+xml;
upstream wordpress {
server wordpress:42400;
}
server {
listen 80;
server_name www.bimber-viral-buzz.local;
location / {
proxy_pass http://wordpress;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
Теперь, когда я запускаю docker-compose up
и пытаюсь получить доступ к, localhost:42400
я могу нормально видеть WordPress. В этом случае проблем нет, и я могу свободно перемещаться по страницам WordPress.
Затем, если я попытаюсь получить доступ кlocalhost
(без указания номера порта, то есть порт 80), я получаю следующую ошибку:
В то же время я получаю следующую ошибку в консоли:
И наконец, если я попытаюсь напрямую получить доступ к WordPress
изображению, используя назначенный IP-адрес, я получу следующий вывод:
Можете посмотреть, что я делаю не так? С утра прочитал кучу статей, ответов на stackoverflow и форумах, но так и не понял, что не так.
Есть идеи?
Примечание: В моем окружении разработки я добавил запись127.0.0.1 www.bimber-viral-buzz.local to access the WordPress site, and you see this domain in the console, because the WordPress forces using the defined domain name.