Vreau să rulez două containere docker în același spațiu de nume de rețea Linux.
Scopul meu este să direcționez tot traficul meu torrent prin OpenVPN.
Acest script creează cu succes un container client openvpn.
Pot introduce cu succes acest spațiu de nume și pot verifica că adresa mea IP este într-adevăr adresa IP OpenVPN.
Problema mea este - Cum rulez containerul docker qbittorent în spațiul de nume de rețea openvpn?
Există un fel de semnalizare la pornirea unui container docker pentru a specifica spațiul de nume de rețea în care să ruleze?
Alte solutii posibile?
Înțeleg că nu pot schimba spațiul de nume de rețea al unui proces care rulează deja
Mulțumiri
ACTUALIZAȚI
SOLUŢIE
adaugă asta
--net=container:$openvpn_client
openvpn_client="client-openvpn"
torrent_client="client_torrent"
dewinettorrent_ns="dewinettorrent_ns"
function getpid {
pid="$(docker inspect -f '{{.State.Pid}}' "$1")"
echo $pid
}
docker rm -f $openvpn_client
docker rm -f $torrent_client
ip netns șterge $dewinettorrent
ip netns pids $dewinettorrent_ns | xargs -t kill -9
docker run -d \
--privilegiat \
--name=$openvpn_client \
--volume /home/dewi/code/dot-files/vpn/:/data/vpn \
--volume /home/dewi/code/dewi_projects/ivacy_vpn_auth:/data/vpn/auth-user-pass \
docker-openvpn-client-dewi
docker run -d \
--name=$client_torrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europa/Londra \
-e WEBUI_PORT=8080 \
-p 9080:8080 \
-v /path/to/appdata/config:/config \
-v /cale/la/descărcări:/descărcări \
lscr.io/linuxserver/qbittorrent
mkdir -p /var/run/netns;
ln -fs "/proc/$(getpid $openvpn_client)/ns/net" /var/run/netns/$dewinettorrent_ns
mkdir -p /etc/netns/$dewinettorrent_ns/
echo 'server de nume 8.8.8.8' > /etc/netns/$dewinettorrent_ns/resolv.conf
docker exec -i $openvpn_client bash /data/scripts/entry.sh &
ip netns exec $dewinettorrent_ns curl icanhazip.com #successfully returnează adresa mea IP VPN