Docker Compose | Виртуальные Хосты - PullRequest
0 голосов
/ 04 мая 2018

Что не так в моем коде? заранее спасибо!

Я пытаюсь настроить виртуальный хост для моего док-контейнера. На localhost: 8000 работает отлично, но когда я пытаюсь получить доступ через http: //borgesmelo.local/, появляется ошибка ERR_NAME_NOT_RESOLVED, что может отсутствовать?

Это мой -> docker-compose.yml

version: '3.3'

services:

      borgesmelo_db:
            image: mariadb:latest
            container_name: borgesmelo_db
            restart: always
            volumes:
                  -  ./mariadb/:/var/lib/mysql

            restart: always
            environment:
                  MYSQL_ROOT_PASSWORD: My@159#Sql
                  MYSQL_PASSWORD: My@159#Sql

      borgesmelo_ws:
            image: richarvey/nginx-php-fpm:latest
            container_name: borgesmelo_ws
            restart: always
            volumes:
                  -  ./public/:/var/www/html
            ports:
                  - "8000:80"

      borgesmelo_wp:
            image: wordpress:latest
            container_name: borgesmelo_wp
            volumes:
                  -  ./public/:/var/www/html
            restart: always
            environment:
                  VIRTUAL_HOST: borgesmelo.local
                  WORDPRESS_DB_HOST: borgesmelo_db:3306
                  WORDPRESS_DB_PASSWORD: My@159#Sql
            depends_on:
                  - borgesmelo_db
                  - borgesmelo_ws

      borgesmelo_phpmyadmin:
            image: phpmyadmin/phpmyadmin:latest
            container_name: borgesmelo_phpmyadmin
            links:
                  - borgesmelo_db
            ports:
                  - "8001:80"
            environment:
                  - PMA_ARBITRARY=1

      borgesmelo_vh:
            image: jwilder/nginx-proxy
            container_name: nginx-proxy
            ports:
                  - "8002:80"
            volumes:
                  - /var/run/docker.sock:/tmp/docker.sock:ro
networks:
  default:
    external:
      name: nginx-proxy

Это мой файл hosts (/ etc / hosts) [macOS]

#DOCKER
127.0.0.1:8000          borgesmelo.local

1 Ответ

0 голосов
/ 04 мая 2018

Файл Hosts не поддерживает порты, так как он предназначен только для поиска имени. Таким образом, вы должны будете установить свой хост-файл на:

127.0.0.1          borgesmelo.local

Затем получите доступ к вашему приложению с помощью http://borgesmelo.local:8000.

Если вы прослушиваете порт 8000, потому что у вас уже есть что-то еще на 80-м порту, рассмотрите возможность использования nginx в качестве обратного прокси-сервера, и затем вы можете маршрутизировать различные приложения на основе имя_сервера . Таким образом, вы можете получить доступ к нескольким приложениям через порт 80. Если вы имеете дело с контейнерами Docker, рассмотрите возможность рассмотрения Traefik в качестве обратного прокси.

...