Эй, ребята, у меня есть докер-контейнер A с доменным именем, присоединенным к нему на хосте B, к которому также прикреплено доменное имя ..... как я могу получить доступ к указанному контейнеру A через доменное имя A, а неIP-адрес B или имя домена с компьютера C в локальной сети хоста B.
, таким образом, C -> A( via wwww.cname.url)
, а не C -> B( www.bname.url:port) -> A
EG
Следующее является докером-создать со службами
version: "3.2"
services:
php:
links:
- mysql
image: arm32v6/php:7.1.24-fpm-alpine3.8-lavalite
networks:
- backend
working_dir: /var/www/html
volumes:
- ./website/:/var/www/html/
privileged: true
node:
domainname: docker.local
hostname: node
networks:
frontend:
aliases:
- node.docker.local
links:
- "apache:dev.docker.local"
depends_on:
- apache
image: arm32v7/node:latest
entrypoint: yarn
command: twill-dev
volumes:
- ./website:/usr/src/app
working_dir: /usr/src/app
ports:
- "3000:3000"
- "3001:3001"
apache:
domainname: docker.local
hostname: dev
image: arm32v7/httpd:2.4
depends_on:
- php
- mysql
networks:
frontend:
aliases:
- apache
- dev.docker.local
backend:
aliases:
- apache
privileged: true
ports:
- "8880:80"
working_dir: /var/www/html
volumes:
- ./website/:/var/www/html/
- ./httpd.conf:/usr/local/apache2/conf/httpd.conf
- ./fpm.conf:/usr/local/apache2/conf/extra/httpd-vhosts.conf
mysql:
image: yobasystems/alpine-mariadb:arm32v7
volumes:
- ./datadir:/var/lib/mysql
networks:
- backend
environment:
- MYSQL_VERSION=5.7
- MYSQL_ROOT_PASSWORD=rootpassword
- MYSQL_USER=test
- MYSQL_PASSWORD=testpass
- MYSQL_DATABASE=test_db
networks:
frontend:
external:
name: localnet
backend:
Я хочу иметь возможность доступа к службе apache по его доменному имени, установленному в dev.docker.local ip которого являетсяв сети 17.18.0.1/24
У хоста есть IP-адрес, который находится в сети 192.168.1.0/24 с именем домена dev.server.local
У меня есть устройство devсеть 192.168.1.0/24, и она может обращаться к контейнерам служб через IP-адрес хоста и обычно порт, предоставляемый для конкретной службы.
ОБНОВЛЕНИЕ Доступ к хосту возможен по адресу server.localиз-за пределов сети мой сетевой интерфейс имеет следующие записи
dns-search server.local
dns-domain server.local
контейнер докера имеет следующий
имя хоста nginx имя_домена server.local
мне нужно также отредактировать файл хоста или файл resolv.conf?
Кажется, на хосте запущено обнаружение службы avahi.Повлияет ли это на что-нибудь?
Так могу ли я
- установить внутренний домен в качестве хоста и иметь док-контейнеры на поддоменах?Как внешние устройства будут получать доступ к этому через домен?
- присоединяет контейнер докера к сети хоста, таким образом, имея IP в 192.168.1.0/24 и имея возможность пинговать устройства в этой сети.,Будет ли домен разрешен к нему?
- Есть ли динамическое программное обеспечение DNS, которое я могу использовать, чтобы подключить его ко мне, чтобы это не было ручным процессом.Таким образом он обнаружит сервер и направит на него входящие запросы через доменное имя?