Я использую mageddo/dns-proxy-server
в своей среде RoR для предоставления разрешения DNS для контейнеров docker. Это работает как удовольствие, пока я не подключусь к компании VPN. К сожалению, dns-proxy-сервер связывается с портом 172.17.0.2, который конфликтует с VPN. Мои другие контейнеры используют другой диапазон IP-адресов. Вот файл docker -compose:
version: '3.7'
services:
jet-db:
image: postgres:latest
hostname: jet-db
ports:
- 5432:5432
environment:
POSTGRES_USER: '*'
POSTGRES_PASSWORD: '*'
volumes:
- database_data:/var/lib/postgresql/data
sidekiq:
build:
context: .
dockerfile: docker/app/ruby-on-rails.dockerfile
command: bundle exec sidekiq -v
environment:
POSTGRES_URL: 'postgres://db/'
RAILS_CACHE_URL: 'redis://rails-cache:6380/'
links:
- jet-db
- sidekiq-cache
- rails-cache
volumes:
- '.:/app'
sidekiq-cache:
image: redis
hostname: sidekiq-cache
command: redis-server /usr/local/etc/redis/redis.conf
ports:
- 6379:6379
volumes:
- ./docker/redis/sidekiq.conf:/usr/local/etc/redis/redis.conf
rails-cache:
image: redis
hostname: rails-cache
command: redis-server /usr/local/etc/redis/redis.conf
ports:
- 6380:6380
volumes:
- ./docker/redis/rails-cache.conf:/usr/local/etc/redis/redis.conf
mailcatcher:
image: zolweb/docker-mailcatcher:latest
ports:
- "1025:1025"
- "1080:1080"
dns-proxy-server:
image: defreitas/dns-proxy-server:latest
hostname: dns.mageddo
volumes:
- /opt/dns-proxy-server/conf:/app/conf
- /var/run/docker.sock:/var/run/docker.sock
- /etc/resolv.conf:/etc/resolv.conf
network_mode: bridge
ports:
- "5380:5380"
volumes:
database_data:
driver: local
tmp:
driver: local
networks:
default:
driver: bridge
ipam:
config:
- subnet: 169.10.0.0/16
Вот как выглядит /etc/resolv.conf, когда прокси-сервер работает нормально без VPN:
:# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
# nameserver 8.8.8.8 # dps-comment
# nameserver 127.0.0.53 # dps-comment
nameserver 172.17.0.2 # dps-entry
Я интересно, есть ли способ заставить dns-proxy-сервер связываться с другим IP-адресом, чтобы избежать конфликта с VPN.