Docker介绍
容器引入
主机虚拟化
- 优点:空间隔离彻底、有自己的操作系统
- 缺点:浪费资源
容器虚拟化
- 没有隔离空间的操作系统
- 隔离的空间与HOST OS之间没有虚拟化层
- 能够实现应用程序的隔离
- 应用程序调用硬件资源时大大节约了时间成本
容器管理工具
- LXC
- LXD
- Docker
Docker
client
daemon
- 本地管理
- 远程管理
image
-
官方镜像
- docker searc centos
-
基础镜像
- 把最小化软件安装操作系统进行打包
tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos7.5-base.tar /
- 把最小化软件安装操作系统进行打包
-
应用镜像
- docker commit 提交已部署应用容器
- docker build 创建指定应用容器镜像 :Dockerfile
-
联合文件系统
镜像仓库
-
公有仓库
- Docker Hub
- 阿里云
-
私有仓库
-
无用户名和密码验证的非安全的仓库
-
有用户名和密码验证的非安全仓库
-
带有UI界面的用户名和密码验证的非安全仓库
- harbor
-
网络
-
本地网络
- bridge NAT模式,可使容器连接waiwang
- host 与主机共享网络,可使容器连接外网
- none 容器仅有lo网卡,无法连接外网
- 联盟网络 容器间共享一个网络命名空间,实现容器间数据传输
-
跨主机容器间通信网络
-
工具
- pipework
- flannel
- weave
- open v switch
- calico
-
flannel
-
overlay
-
etcd
- 用于存储路由信息的
-
flannel0
- /run/flanneld/subnet.env
-
docker0
- /etc/docker/daemon.json
- systemctl restart docker
-
-
编排部署
什么是编排部署?
- 批量部署工具
工具
-
系统预备工具
- pxe
- cobbler
-
主机时代服务编排工具
- ansible
- saltstack
- puppet
-
容器时代—Docker三剑客
-
docker-machine
- 创建和管理Docker Hosts的工具
-
docker-compose
- Dockerfile定义应用的运行环境
- docker-compose.yml定义组成应用的各个服务
- docker-compose up启动整个应用
-
docker-swarm
-
创建
-
node
-
service
-
stack
- 容器主机可视化管理
-
-