Skip to main content
added 23 characters in body
Source Link
Ole Tange
  • 37.5k
  • 34
  • 119
  • 226

It is possible. With this I have managed to run 6000 containers

    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

The servers can access each other within the same bridge and the internet, but they are not accessible from the ethernet.

It is possible. With this I have managed to run 6000 containers

    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

The servers can access each other and the internet, but they are not accessible from the ethernet.

It is possible. With this I have managed to run 6000 containers

    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

The servers can access each other within the same bridge and the internet, but they are not accessible from the ethernet.

added 1 character in body
Source Link
Jeff Schaller
  • 68.8k
  • 35
  • 122
  • 264

It is possible. With this I have managed to run 6000 containers

    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

The servers can access eachothereach other and the internet, but they are not accessible from the ethernet.

It is possible. With this I have managed to run 6000 containers

    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

The servers can access eachother and the internet, but they are not accessible from the ethernet.

It is possible. With this I have managed to run 6000 containers

    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

The servers can access each other and the internet, but they are not accessible from the ethernet.

Source Link
Ole Tange
  • 37.5k
  • 34
  • 119
  • 226

It is possible. With this I have managed to run 6000 containers

    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

The servers can access eachother and the internet, but they are not accessible from the ethernet.