Docker网络简介

1)docker网络常用命令

查看docker的网络模式

docker network ls
Docker网络简介

docker网络常用命令参数

connect  #连接容器到网络   
create      #创建网络
disconnect  #断开容器与网络的连接
inspect     #显示一个或多个网络的详细信息
ls          #列出所有网络
prune       #删除所有未使用的网络
rm          #移除一个或多个网络

2)主要用途

用于容器间的互联、通讯以及端口映射 容器IP变动时可以通过服务名直接通信而不受影响

3)docker网络模式

网络模式 简介
bridge 为每个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥中,系统默认为该模式。
host 容器不会虚拟出自己的网卡,而是直接使用宿主机的IP和端口
none 容器有独立的网络空间,但没有对其进行任何的网络设置且只有一个lo回环口。
container 为新创建的容器指定一个容器与其共享IP和端口范围等

网络模式配置方法

bridge:     #使用--network bridge指定,默认使用docker0
host:       #使用--network host指定
none:       #使用--network none指定
container:  #使用--network container:NAME或者容器ID指定

4)docker网络之bridge模式

Docker服务默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,将所有容器和本地主机都放在同一个网络内,让主机和容器之间可以通过网桥互相通信。

Docker网络简介
#创建实例
docker run -it --name r1 centos
docker run -it --name r2 centos

docker0上面的veth与容器内部的eth0网卡两两配对,一 一匹配。(如下图所示,容器内部网卡eth与宿主机的veth一 一匹配)

Docker网络简介
Docker网络简介
Docker网络简介

5)docker网络之host模式

host模式下容器会直接使用宿主机的IP与外界进行通讯,不再需要额外进行NAT转换。容器将不会获得一个独立的网络空间,而是和宿主机共用一个网络空间,使用宿主机的IP和端口。

Docker网络简介

创建实例

#指定网络模式为host
docker run -itd --name host6 --network host centos:latest 

在宿主机查看容器网络信息

docker inspect 容器ID或容器名
Docker网络简介

进入容器内部再次查看网络信息

docker exec -it host6 /bin/bash

host模式下与宿主机共用IP与端口

Docker网络简介

可以直接通过宿主机IP访问host6容器的80端口。

#安装httpd服务
yum install httpd -y
#写入内容
 echo "this is docker-Apache" >/var/www/html/index.html

Docker网络简介

6)docke网络的none模式

在none模式下,不为任何docker容器进行网络配置,并且只有一个本地回环口(127.0.0.1)。需要我们自己为Docker容器添加网卡,配置IP信息等。

#创建none模式下的容器
docker run -itd --name none1 --privileged --network none centos:latest /usr/sbin/init

进入容器内部查看网卡信息,只有一个本地回环口无其他任何网络信息。

Docker网络简介

7)docker网络的container模式

新建的容器和已经存在的容易共享一个网络IP而不是和宿主机共享。并且新创建的容器不会创建自己的网卡,配置自己的IP而是和一个指定的容器共享IP、端口范围等。两个容器除了网络方面,其他都是隔离开的。

Docker网络简介

使用container模式让centos2与centos1容器共用一个IP

#创建centos1
docker run -d --name centos1 --privileged=true centos:latest /usr/sbin/init
#让cewntos2与centos1共享IP
docker run -d --name centos2 --network container:centos1 --privileged=true centos:latest /usr/sbin/init
 

查看两个容器的网络信息

Docker网络简介

当容器centos1出现宕机时,那么容器centos2的网络信息就会丢失只剩下本地回环口

Docker网络简介

往期推荐







原文始发于微信公众号(青菜浪人):

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/157492.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!