Я пытаюсь настроить этот проект: https://github.com/ao-data/albiondata-докер
Но мой сервер не позволяет мне подключаться к каким-либо хостам из моего браузера.
Это урезанный Docker-Compose:
version: "3"
services:
sql:
depends_on:
- mysql
- nats
networks:
- albiondata
api:
ports:
- 8056:80
depends_on:
- mysql
networks:
- albiondata
gate:
ports:
- 4223:4223
depends_on:
- nats
- redis
networks:
- albiondata
deduper:
depends_on:
- nats
- redis
networks:
- albiondata
nats:
ports:
- 4222:4222
- 6222:6222
- 8222:8222
networks:
- albiondata
mysql:
ports:
- 3306:3306
networks:
- albiondata
mysql-backup:
depends_on:
- mysql
networks:
- albiondata
redis:
ports:
- 6379:6379
networks:
- albiondata
proxy:
ports:
- "80:80"
- "443:443"
- "81:81"
networks:
- albiondata
nginx:
ports:
- "80:80"
- "443:443"
- "81:81"
networks:
- albiondata
nginx:
ports:
- 8080:80
networks:
albiondata:
Я использую ufw для настройки iptables, а также включил переадресацию, описанную здесь https://docs.docker.com/network/bridge/, с помощью команд
sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT
Я проверил свои порты с помощью netstat (да, они открыты для 0.0.0.0), и все контейнеры работают без ошибок. Я также разрешил все порты, указанные в docker-compose, специально для ufw.
Но я не могу подключиться к порту 8080 или 4223, API, привязанное к порту 8056, также недоступно. Отключение iptables (удаление всех правил) исправляет это, и я могу получить доступ ко всем службам.
Мой сервер работает на Debian 11
Когда вы работаете с ufw и вносите изменения в брандмауэр, вы должны перезапустить демон docker.
И демон docker, и ufw работают с iptable в фоновом режиме. Когда вы вносите какие-либо изменения в ufw, они конфликтуют с демоном docker.
Перезапустите его с помощью: docker перезапустить докер