服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - Docker四种网络类型原理实例解析

Docker四种网络类型原理实例解析

2021-04-26 16:55水墨如丹青 服务器知识

这篇文章主要介绍了Docker四种网络类型原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

四种网络类型

  • None:不为容器配置任何网络功能,--net=none
  • Container:与另一个运行中的容器共享Network Namespace,--net=container:containerID(K8S)
  • Host:与宿主机共享Network Namespace,--net=host
  • Bridge:Docker设计的NAT网络模型

下面分别讲解下:

none:

?
1
2
3
4
5
6
[root@docker1 centos_zabbix]# docker run -it --network none centos6.9_ssh:v2 /bin/bash
[root@6ae597015723 /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever

  这种没有ip,可以在容器里随便玩,没有多大意义

container类型的网络:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@1c21de6080bb html]# [root@docker1 centos_zabbix]# docker ps -a
CONTAINER ID    IMAGE          COMMAND       CREATED       STATUS   PORTS        NAMES
1c21de6080bb    centos6.9_nginx_ssh:v3  "/bin/bash"     26 seconds ago   Up 25 seconds             vigorous_payne
[root@docker1 centos_zabbix]# docker run -it --network container:1c21de6080bb centos6.9_nginx_ssh:v4 /bin/bash
 
共用了主机名的ip地址
 
可以查看属性
[root@docker1 centos_zabbix]# docker ps -a
CONTAINER ID    IMAGE          COMMAND       CREATED       STATUS   PORTS        NAMES
41c457f6b89d    centos6.9_nginx_ssh:v4  "/bin/bash"     5 minutes ago    Up 5 minutes             loving_curie
1c21de6080bb    centos6.9_nginx_ssh:v3  "/bin/bash"     6 minutes ago    Up 6 minutes             vigorous_payne
 
[root@docker1 centos_zabbix]# docker inspect 41c457f6b89d|grep -i network
      "NetworkMode": "container:1c21de6080bb8c83e800fa8b5fb15782a18bb61ab292050ca1172fbb866b1afc",
    "NetworkSettings": {
      "Networks": {}

 要注意的是这种公用container类型的端口是谁先用某个端口,谁就占了,后来的没法使用这个端口

host类型

[root@docker1 centos_zabbix]# docker run -it --network=host centos6.9_nginx_ssh:v2 /bin/bash

  这种就是和宿主机共用端口,谁先占谁用,但是性能最高,所以我们在构建镜像的时候使用了这个参数,就是为了统一网络类型,提高构建镜像的效率

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/nsh123/p/11138694.html

延伸 · 阅读

精彩推荐