Чтобы назначить общедоступный IP-адрес для док-контейнера, необходимо использовать Сетевой драйвер Macvlan , например:
Сетевой драйвер Macvlan можно использовать для назначения MAC-адресак виртуальному сетевому интерфейсу каждого контейнера, делая его физическим сетевым интерфейсом, напрямую подключенным к физической сети.
Эта команда создаст сеть Macvlan, которая соединяется с данным физическим сетевым интерфейсом
docker network create -d macvlan -o macvlan_mode=bridge --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 pub_net
Затем создайте контейнер, который будет использовать указанную выше сеть:
docker run --name web_container --net=pub_net --ip=172.16.86.2 --mac-address 25-EE-4E-B5-21-48 -itd nginx
Теперь у вас есть общедоступный контейнер, работающий на 172.16.86.2
, и, конечно, из того же образа докера вы можете запустить несколько докеровКонтейнер и назначить публичный IP для каждого.