docker 网络

本文深入探讨Docker网络,包括容器的网络配置、网络模式如bridge、none、host和container,以及网络连通性。介绍了Docker如何利用Linux内核的namespace和cgroup技术,并提到了iptables规则对容器间通信的影响。此外,还提及了Docker镜像的制作、常用端口和启动容器的注意事项。
摘要由CSDN通过智能技术生成

doucker进阶

1、启动容器要限制容器使用CPU和内存资源:–cpu-shares 30 【限制使用CPU】

2、查看docker的运行进程:docker top
在这里插入图片描述

  1. iaas:我只购买了电脑包含cpu、显卡、内存
  2. paas:不仅购买了电脑、还给我装好了操作系统、.net等中间件
  3. saas:不仅装好了操作系统,游戏都给我装好了。

配置 域名和IP的映射关系到hosts文件

/etc/hostname #下面有一个sc-docker文件

hostnamectl set-hostname sc-docker-1 #修改文件名:将sc-docker改为sc-docker-1

docker run -d -name xie1 

docker run -d --name xie2 --link xie1:redis nginx
--link:将xie1这个容器起一个别名叫redis,目的是在xie2这个容器的/etc/hosts文件里面

docker底层是如何实现的?

docker就是基于Linux内核的namespace特性来实现的,

centos8不用安装docker,默认安装的是podman-docker软件!

如果安装了,会报以下错:

Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.

解决方法:

1.卸载podman软件
yum remove docker 

2.下载docker-ce源
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

3.安装docker-ce
yum install docker-ce -y

docker 网络

docker rm -f $(docker ps -aq)   #删除所有容器
docker rmi -f $(docker images -aq)   #删除所有镜像
docker ps

lo:本机回环地址

eth0:阿里云的内网地址

docker0:docker生成的网卡(相当于路由器)
在这里插入图片描述
在这里插入图片描述

一般家里的路由器的IP是:192.168.01 我们的手机连WiFi则会随机得到一个IP:192.168.0.12等

为什么Linux可以ping通容器内部?
在这里插入图片描述
在这里插入图片描述
我们发现这个容器带来的网卡,都是一对一对的 (–net 可以指定网络,默认是走docker 0)

#evth-pair 就是一对的虚拟设备接口,它们都是成对出现,
在这里插入图片描述
在这里插入图片描述

docker 使用的是Linux的桥接,宿主机中是一个Docker容器的网桥(docker0)大概是65535个

docker中所有的网络接口都是虚拟的,虚拟的转发速率高!

只要容器删除,对应网桥一对就没了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOJ7zROL-1635157846633)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210816224636381.png)]

–link

查看网络配置连接

docker network --help    #显示所有的网卡信息
docker network ls        #查看所有的docker网卡
docker network rm 名字    #删除某个网卡
docker network inspect id号   #可以看很多东西
curl ip地址               #查看详细信息

在这里插入图片描述

/etc/hosts :配置绑定的,映射

127.0.01 www.baidu.com
在这里插入图片描述
在这里插入图片描述

网络模式

bridge:桥接docker大桥【当.02与.03不能通信的时候用.01在中间搭桥(相当于路由器)】【默认的,自己创建也用这个】

none:不配置网络【一般不用】

host:和宿主共享网络

container:容器内网络连通【用的少!局限很大)

nemaspace【网络命名空间】:是内核的一个功能,用来给进程隔离一系列系统资源(视图隔离)

lxc:Linux container:基于容器的操作系统层面的虚拟化技术

cgroup:control Group :对资源进行限制(CPU,磁盘,内存)

测试:

自定义一个网络:创建一个网络(桥接的),搭建一个网络
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值