Всем доброго дня!
На хосте с Ubuntu 20 поднят кластер из нескольких контейнеров, объединенных между собой в одну сеть.
Кластер представляет собой стек разработки nginx + php-fpm + mysql + memcached + redis.
Адрес хоста в локальной сети - 192.168.1.104. До сего дня все контейнеры свободно "общались" между собой, используя этот IP, и вдруг этот адрес стал для них недоступен. Потребовалось во всех конфигах явно прописывать сетевые имена каждого контейнера. Понимаю, что так изначально было правильнее, но не понимаю - почему это произошло?
До кучи отвалился доступ и к самба-серверу 192.168.1.104 из локалки, но сам веб-кластер всё еще доступен с других машин в сети на 80-м порту. Может быть, это и не связано, но всё же. Прилагаю docker-compose для ясности.
docker-compose
version: '3'
services:
#PHP
php:
build:
context: ./image/php/${PHP_VERSION}/.
image: openweb/php:${PHP_VERSION}
container_name: os-php${PHP_VERSION}
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: app
SERVICE_TAGS: dev
working_dir: /var/www
volumes:
- ./www:/var/www
- ./config/php/php.ini:/usr/local/etc/php/php.ini
- ./scripts:/bin/app
networks:
- openweb-network
#Nginx Service
webserver:
image: nginx:alpine
container_name: os-nginx
restart: unless-stopped
tty: true
ports:
- "${WWW_PORT}:80"
- "${WWW_SECURITY_PORT}:443"
volumes:
- ./www:/var/www
- ./config/nginx/:/etc/nginx/conf.d/
- ./scripts:/bin/app
networks:
- openweb-network
#MySQL Service
mysql:
image: mysql:5.7.24
container_name: os-mysql5.7.24
restart: unless-stopped
tty: true
ports:
- "${MYSQL_PORT}:3306"
volumes:
- ./db/mysql:/var/lib/mysql
- ./scripts:/bin/app
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_PASSWORD}"
SERVICE_TAGS: dev
SERVICE_NAME: mysql
networks:
- openweb-network
#Redis Service
redis:
image: redis
container_name: os-redis
restart: unless-stopped
tty: true
ports:
- "${REDIS_PORT}:6379"
volumes:
- ./db/redis:/var/lib/redis
- ./scripts:/bin/app
environment:
- REDIS_REPLICATION_MODE=master
networks:
- openweb-network
#Memcached
memcached:
image: memcached
container_name: os-memcached
restart: unless-stopped
tty: true
ports:
- "${MEMCACHED_PORT}:11211"
networks:
- openweb-network
#Docker Networks
networks:
openweb-network:
driver: bridge
#Volumes
volumes:
dbdata:
driver: local
P. S. Критика по настройке кластера - вери вэлкам, потому как настраивал на основе готовой сборки и не уверен, что всё идеально (ночнее, уверен, что не идеально).