У сучасному світі використання контейнерів для розгортання програмних додатків стало широко поширеним підходом. Docker-Compose є потужним інструментом для оркестрації контейнерів, але іноді виникають проблеми з налаштуванням мережі, зокрема коли потрібно розмістити контейнер за VPN. У цій статті ми розглянемо одну з таких проблем і спробуємо знайти рішення.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
version: '3' services: vpn: ## Read https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers for details on configuring VPN for your service provider. profiles: ["vpn"] image: qmcgaw/gluetun:v3.37.0 cap_add: - NET_ADMIN environment: - VPN_SERVICE_PROVIDER=nordvpn # Valid values: nordvpn, expressvpn, protonvpn, surfshark or custom - OPENVPN_USER= - OPENVPN_PASSWORD= ## For list of server countries, visit https://raw.githubusercontent.com/qdm12/gluetun/master/internal/storage/servers.json ## When VPN_SERVICE_PROVIDER is custom. Comment the below line - SERVER_COUNTRIES=Switzerland # - FREE_ONLY=on # Valid with protonvpn only. Value willbe set "on" if using free subscription provided by protonvpn ## Enable below if VPN_SERVICE_PROVIDER=custom - VPN_TYPE=openvpn # or wireguard. ## If VPN_TYPE is openvpn - OPENVPN_CUSTOM_CONFIG=/gluetun/custom.conf networks: - mynetwork ports: - 8123:8123 restart: "unless-stopped" homeassistant: container_name: hass image: homeassistant/home-assistant network_mode: "service:vpn" volumes: - ./config:/config - /etc/localtime:/etc/localtime:ro restart: unless-stopped depends_on: - vpn networks: mynetwork: external: true |
Проблема полягає в тому, що при спробі запустити контейнер отримуємо помилку, що мережевий сервіс service:vpn не може бути знайдений. Однак, згідно з документацією, цей спосіб вказано коректно. Давайте розберемося, які можуть бути причини цієї проблеми та як її вирішити.