我正在尝试创建一个码头桥,它将分配容器公共IP,我希望在互联网上可解析。让我们假设192.168.33.0/24
是一个公共CIDR。
网络配置如下:
sudo docker network create \
--driver bridge \
--subnet=192.168.33.0/24 \
--gateway=192.168.33.10 \
--opt "com.docker.network.bridge.name"="docker1" \
shared_nw
容器命令
docker run --name container1 --net shared_nw --ip 192.168.33.11 -dt ubuntu
主机可以访问192.168.33.11
容器和它的侦听端口,但外部的任何其他客户端都不能,这是有意义的,因为它是一个只支持主机的桥。
所以我做了以下的事情:
sudo brctl addif docker1 eth1
这使得容器可以从外部访问,但我的Docker主机不再可以通过任何类型的端口访问(例如:ssh)中。
有什么想法如何保持主机可达或有什么办法使码头桥从外面访问?
- 谢谢-谢谢
1条答案
按热度按时间8ulbf1ek1#
似乎有另一个驱动程序可以做到这一点,称为
macvlan
。我所要做的就是将网络更改为: