Я хочу запустить 12 отдельных серверов в частной сети. Я имею в виду, что конечной целью будет доступ к статическим локальным IP-адресам, например:
192.168.0.31
192.168.0.32
...
192.168.0.42
Но я бы хотел справиться с этим, запустив их все как отдельные докер-контейнеры на одной машине.
Я уже провел некоторое исследование по этому поводу и прочитал docker network create
но я не был полностью уверен, что это был правильный способ сделать это.
Если бы кто-нибудь мог дать какое-то руководство для этого, это было бы здорово.
Вам следует взглянуть на docker-compose https://docs.docker.com/compose/networking/ это поможет вам управлять несколькими контейнерами и их сетью. Например, вот минимальный docker-compose.yml, чтобы дать вам представление. После настройки docker-compose.yml вы можете просто запустить docker-compose up
и все ваши службы (контейнеры) начнут подключаться к сети, определенной в нижней части docker-compose.yml.
version: '2'
services:
container1:
container_name: container2
image: node:latest
networks:
my_network:
ipv4_address: 10.0.0.2
container2:
container_name: container2
build: node:latest
networks:
my_network:
ipv4_address: 10.0.0.3
container3:
container_name: container3
build: node:latest
networks:
my_network:
ipv4_address: 10.0.0.4
container4:
container_name: container4
build: node:latest
networks:
my_network:
ipv4_address: 10.0.0.5
networks:
my_network:
driver: bridge
ipam:
config:
- subnet: 10.0.0.0/16
gateway: 10.0.0.1
В docker-network create
упомянутая вами команда эквивалентна последнему шагу в этом docker-compose.yml
.