Docker: Subnetz-Clients können kein anderes Subnetz per Ping erreichen

380
Sean Walsh

Ich habe ein kleines Netzwerk mit 2 Clients und 2 Routern damit erstellt Dockerfile:

FROM ubuntu:18.04  RUN apt update && apt upgrade -y && apt install -y vim iputils-ping iproute2 

Die Container wurden mit dem folgenden Skript erstellt:

#!/bin/bash  sudo docker build -t test02 .  sudo docker network create --internal --subnet=192.168.1.0/24 tunnel  sudo docker network create --internal --subnet=172.16.1.0/24 B1 sudo docker network create --internal --subnet=172.16.2.0/24 B2  sudo docker run --name R1 --hostname R1 --cap-add=ALL --net tunnel --ip="192.168.1.100" -dit test02  sudo docker run --name R2 --hostname R2 --cap-add=ALL --net tunnel --ip="192.168.1.200" -dit test02  sudo docker network connect --ip="172.16.1.254" B1 R1 sudo docker network connect --ip="172.16.2.254" B2 R2  sudo docker exec R1 ip route del default via 172.16.1.1  sudo docker exec R2 ip route del default via 172.16.2.1  sudo docker exec R1 ip route add 172.16.2.0/24 via 192.168.1.200  sudo docker exec R2 ip route add 172.16.1.0/24 via 192.168.1.100  sudo docker run --name PC1 --hostname PC1 --cap-add=ALL --net B1 --ip="172.16.1.2" -dit test02  sudo docker run --name PC2 --hostname PC2 --cap-add=ALL --net B2 --ip="172.16.2.2" -dit test02  sudo docker exec PC1 ip route del default via 172.16.1.1  sudo docker exec PC1 ip route add default via 172.16.1.254  sudo docker exec PC2 ip route del default via 172.16.2.1  sudo docker exec PC2 ip route add default via 172.16.2.254 

Alles ist gut, PC1kann aber nicht ping PC2. Dies ist kein Problem lxc, wenn Sie dieselbe Netzwerkkonfiguration verwenden PC1und miteinander PC2kommunizieren können.

Warum passiert das?

Docker-Version: Docker version 18.06.1-ce, build e68fc7a

0

0 Antworten auf die Frage