Docker 自定义网络

基本命令查看

查看所有网络

docker network ls

所有网路模式

网络模式 配置 说明
bridge模式 --net bridge 默认值,在Docker网桥 docker0 上为容器创建新的网络栈
none模式 --net none 不配置网络,用户可以稍后进入容器,自行配置
container 模式 --net container:name/id 容器和另外一个容器共享Network namespace。 kubernetes中的pod就是多个容器共享一个Network namespace。
host模式 --net host 容器和宿主机共享Network namespace
用户自定义 --net 自定义网络 用户自己使用network相关命令定义网络,创建容器的时候可以指定为自己定义的网络

查看一个具体的网络的详细信息

自定义网卡

删除原来的所有容器

docker rm -f $(docker ps -aq)

接下来我们来创建容器

但是我们知道默认创建的容器都是 docker0网卡 的

默认我们不配置网络,也就相当于默认值 --net bridge 使用的docker0

docker run -d -P --name tomcat01  tomcat
docker run -d -P --name tomcat01 --net bridge tomcat
# 上面两个一样

docker0网络的特点

  1. 它是默认的
  2. 域名访问不通
  3. --link 域名通了,但是删了又不行

让容器创建的时候使用自定义网络

自定义创建的默认default "bridge"

自定义创建一个网络

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

确认下

我们来启动两个容器测试,使用自己的 mynet

docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat

再来查看下

我们来测试ping容器名和ip试试,都可以ping通

docker exec -it tomcat-net-01 ping 192.168.0.3

 

docker exec -it tomcat-net-01 ping tomcat-net-02

 发现,我们自定义的网络docker都已经帮我们维护好了对应的关系

所以我们平时都可以这样使用网络,不使用--link效果一样,所有东西实时维护好,直接域名 ping 通。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章