[docker]$5_网络管理

网络

$ docker network ls
三种默认的网络: bridge,host,none

bridge

///shiyanlou:1.0 镜像创建一个容器 shiyanlou001,并将本机的端口 10001 映射到容器中的 80 端口上,在浏览器中可以通过 localhost:10001 访问容器 shiyanlou001 的 apache 服务,命令如下:

$ docker run -d -p 10001:80 --name shiyanlou001 shiyanlou:1.0


删除手动添加的规则可使用如下方法:


#查看 nat 规则
$ sudo iptables -t nat -nvL --line-numbers
#比如删除 DOCKER 链的第 2 条规则
$ sudo iptables -t nat -D DOCKER 2

#查看 filter 规则
$ sudo iptables -nvL --line-numbers
#比如删除 DOCKER 链第 1 条规则
$ sudo iptables -D DOCKER 1

自定义网络

$ docker network create network1

# 首先删除掉刚刚创建的 network1 
$ docker network rm network1

# 再次创建 network1,指定子网
$ docker network create -d bridge --subnet=192.168.16.0/24 --gateway=192.168.16.1 network1


$ docker run -it --name shiyanlou001 --network network1 --rm busybox /bin/sh


# 在新打开的终端中运行,将容器 shiyanlou001 连接到 network1 网络中
$ docker network connect network1 shiyanlou001
# 连接到 network1 网络,运行成功
$ docker run -it --network network1 --ip 192.168.16.100 --rm busybox /bin/sh

# 连接到默认的 bridge 网络,下面的命令运行失败
$ docker run -it --rm busybox --ip 192.168.0.100 --rm busybox /bin/sh

host

容器可以直接访问主机上的网络。

$ docker run -it --network host --rm busybox /bin/sh

none

容器中不提供其它网络接口。

$ docker run -it --network none --rm busybox /bin/sh

发布了78 篇原创文章 · 获赞 0 · 访问量 1431

猜你喜欢

转载自blog.csdn.net/qq_30782921/article/details/101637602