携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天,点击查看活动详情
Docker小结
attach 当前shell下attach连接指定运行镜像
build 通过dockerfile定制镜像
commit 提交当前容器为新的镜像
cp 从容器中拷贝指定文件或者目录
Docker网络
理解docker()
三个网络
docker是如何处理容器网络访问的
我们每启动一个docker容器,docker就会给docker容器分配一个ip,我们只要安装了docker,就会有一个网卡docker()桥接模式,使用的技术是evth-pair技术
553: veth7a6d067@if552: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether 92:ae:c6:b7:78:cd brd ff:ff:ff:ff:ff:ff link-netnsid 5
inet6 fe80::90ae:c6ff:feb7:78cd/64 scope link
valid_lft forever preferred_lft forever
每启动一个容器,就会多一个网卡
我们发现这个容器带来网卡,都是一对对的
evth-pair 就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连
正因为有这个特性 ,evth-pair充当一个桥梁,连接各种虚拟网络设备的
OpenStac ,Docjer容器之间的连接,OVS的连接,都是使用evth-pair技术
容器之间一个可以互相ping通的
绘制一个网络模型图:
结论:tomcat01和tomcat02是公用的一个路由器,docker().
所有的容器不指定网络的情况下,都是docker()路由的,docker会给我们的容器分配一个默认的可用ip
255.255.0.1/16 域 局域网
docker使用的linux的桥接,宿主机中是一个docker容器的网桥 docker()
docker中的所有的网络接口都是虚拟的,虚拟的转发效率高!(内网传递文件!)
只要容器删除,对应网桥一对就没了!
Docker概述
Docker为什么出现 一款产品:开发——上线 两套环境 应用环境,应用配置! 开发 --运维,问题:我在我的电脑上可以运行!版本更新,导致服务不可用!对于运维来说,考研就十分大? 环境配置是十分的麻烦,每一个机器都需要部署环境(集群redis es hadoop 。。。)!耗时费力 发布一个项目 (jar+(redis mysql jdk es)) 项目能不能都带上环境安装打包! 之前在服务器配置一个应用的环境 redis musql jdk es hadoop 配置超麻烦,不能够跨平台 Windows 最后发布到linux 传统:开发jar,运维来做! 现在:开发打包部署上线,一套流程做完! java — apk -- 发布(应用商店) --张三使用apk --安装即可用! java --jar (环境) --打爆项目带上环境(镜像),--(docker仓库:商店)--下载我们发布的镜像--直接运行即可 dockers给以上的问题,提出了解决方案! docker的思想来源于集装箱