ブリッジは1023個のMACアドレスに制限されるため、通常のDockerは1023個のコンテナに制限されます。
しかし、足が複数ある場合はどうでしょうか?それでは、1023を超えるコンテナを持つことができますか?
ルーターまたはブリッジを介して接続できますか?
その場合:これを行う構成(好ましくは、コンテナーを外部イーサネットで使用できるようにする構成)を表示します。
答え1
可能。これにより、6000個のコンテナが正常に実行されました。
servers_min=$1
servers_max=$2
# We will start 10x this
servers_min=$(( servers_min / 10 ))
servers_max=$(( servers_max / 10 ))
testssh() {
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/tmp/known root@"$1" echo "'$1'" '`uptime`'
}
export -f testssh
docker network create --driver bridge net0
docker network create --driver bridge net1
docker network create --driver bridge net2
docker network create --driver bridge net3
docker network create --driver bridge net4
docker network create --driver bridge net5
docker network create --driver bridge net6
docker network create --driver bridge net7
docker network create --driver bridge net8
docker network create --driver bridge net9
# Start the virtual servers
startone() {
id=$1
net=$2
docker run -d --rm --name ubuntu-$id-$net --network $net my-ubuntu
docker inspect ubuntu-$id-$net
}
export -f startone
seq $servers_min $servers_max | parallel startone :::: - ::: net{0..9} |
# After this it is possible to do:
# ssh 10.0.0.99
# from another physical server
perl -nE '/"IPAddress": "(\S+)"/ and not $seen{$1}++ and say $1' |
tee /tmp/ipaddr |
parallel testssh
docker ps
サーバーは同じブリッジとインターネット内で互いに接続できますが、イーサネットでは接続できません。