#docker #networking #docker-compose #docker-networking
Вопрос:
Я борюсь с сетями и докером/докер-композицией. Вариант использования :
- Я использую передачу в качестве клиентского торрента в режиме network_mode с помощью VPN wireguard для обеспечения конфиденциальности.
- Рядом с ним у меня есть контейнер Jackett и контейнер Sonarr для автоматизации. Проблема в том, что мой локальный ip-адрес моего контейнера Wireguard(отображается в контейнере VPN) постоянно меняется при каждой перезагрузке, но мне нужно, чтобы он был постоянным для Jackett/Sonarr. Я думаю, что я использую network_mode: service:container для использования VPN с моим клиентом передачи, и я понятия не имею, как сделать оба моих контейнера (VPN и передачу) со статическим IP.
Я создаю мост между Jackett, Sonarr и VPN, чтобы они могли общаться между собой.
У вас есть какие-нибудь идеи, как сделать их IP-статику ? Или, в первой половине, VPN со статическим локальным ip-адресом ?
version: "2.1"
services:
plex:
image: plexinc/pms-docker
container_name: plex
environment:
- TZ=Europe/X
- PLEX_CLAIM=X
volumes:
- /home/X/docker/plex_config:/config
- /home/X/docker/plex_transcode:/transcode
- /media/data:/data
ports:
- 3240:32400
transmission:
image: ghcr.io/linuxserver/transmission
container_name: transmission
depends_on:
- vpn
network_mode: service:vpn
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/X
- TRANSMISSION_WEB_HOME=/flood-for-transmission/
volumes:
- /home/X/docker/trans_config:/config
- /media/data:/downloads
- /media/data/watchTorrent:/watch
# ports:
# - 9091:9091
# - 51413:51413
# - 51413:51413/udp
restart: unless-stopped
vpn:
privileged: true
image: cmulk/wireguard-docker:buster
volumes:
- /etc/wireguard/conf:/etc/wireguard
networks:
- net
- linked
ports:
- 5555:5555/udp
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped
devices:
- /dev/net/tun
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
cap_add:
- NET_ADMIN
- SYS_MODULE
sonarr:
image: ghcr.io/linuxserver/sonarr
networks:
- linked
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /home/X/docker/sonarr/data:/config
- /media/data/Series:/tv #optional
- /media/data/:/downloads
ports:
- 8989:8989
restart: unless-stopped
jackett:
image: ghcr.io/linuxserver/jackett
container_name: jackett
networks:
- linked
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- AUTO_UPDATE=true #optional
- RUN_OPTS=<run options here> #optional
volumes:
- /home/X/docker/jack/conf:/config
- /media/data/:/downloads
ports:
- 9117:9117
restart: unless-stopped
networks:
net:
linked:
driver: bridge
Кроме того, когда я ищу IP-адрес внутри передачи с помощью этой команды :
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
он ничего не возвращает.
Но с контейнером VPN он возвращает мне 2 локальных IP-адреса.
Exemple : 192.168.224.2192.168.208.2
Спасибо за уделенное время!