文章目录
- 一、docker简介
- docker的历史
- docker的概念
- docker和虚拟机的区别
- docker命名空间
- docker镜像
- docker状态
- 二、部署docker
- 设置仓库和拓展
- 安转docker引擎
- 开启镜像加速
- 网络优化
- 验证安装
- 总结
一、docker简介
docker的历史
2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一些融资,还获得了美国著名孵化器YCombinator的支持,后来微软谷歌亚马逊这样的大厂商也纷纷加入PAAS平台,竞争十分激烈,dotCloud举步维艰.
2013年可能是公司发展的不是很好,工程师又不想自己的努力付之东流,于是他们决定将他们的核心技术开源.这项技术就是docker.当时docker的功能就是将linux容器中的应用代码打包,可以轻松的在服务器之间进行迁移.
无心插柳柳成荫,docker技术风靡全球,于是dotCloud公司改名为docker Inc,并全面投入到docker的开发之中.
2014.6 Docker发布了第一个版本 Docker1.0
2014.7 获得C轮融资 $4000W
2015.4 获得D轮融资 $9500W
至今已经发布到docker
docker的概念
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 实现一次调试多次适用
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。
docker和虚拟机的区别
docker命名空间
容器采用了6种命名空间 用来应用之间隔离 只有实现以下6种隔离 才表明两个应用隔离了
mount 文件挂载点
user 进程的用户和用户组
pid 进程编号
uts 主机名和主机域
ipc 信号量 消息队列 共享内存
net 网络协议 设备 协议栈 端口
docker镜像
从本质上来说镜像就是一系列文件,可以包括我们应用程序的文件,也可以包括我们应用的运行环境的文件,既然是文件,那么是以什么样的格式在本地保存的呢?
说到存储格式,就要提到linux的一个存储技术,叫做联合文件系统,是一种分层的文件系统,可以将不同的目录挂到同一个虚拟文件系统下
docker状态
created(已创建)
restarting(重启中)
up/running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
二、部署docker
Docker 要求 CentOS 系统的内核版本高于 3.10,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
先查看服务器的内核版本
uname -r
设置仓库和拓展
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安转docker引擎
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker 开启服务
systemctl enable docker 开机自启
开启镜像加速
进入阿里云官网,右上角控制台 进入搜索镜像服务 每个人账号都有专属的加速地址 命令直接输入即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
网络优化
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
systemctl restart network
systemctl restart docker
docker推荐配置文件
#registry-mirrors 以上添加
"graph":"/data/docker", #数据目录
"storage-driver":"overlay2", #存储引擎
"insecure-registries":["registry.access.redhat.com","quary.io"], #私有仓库
#registry-mirrors 以下添加
"bip":"172.184.70.1/24", #docker网络
"exec-opts":["native.cgroupdriver-systemd"], #启动时的额外参数
"live-restore":true #当docker容器引擎挂掉的时候,使用docker跑起来的容器还能继续运行
验证安装
总结
docker是什么
docker是容器技术 不同于虚拟机 可以在任何环境下运行
docker和虚拟机的区别
容器的状态
created(已创建)
restarting(重启中)
up/running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)