一、docker简介
1、容器
一种虚拟化的方案
直接运行在操作系统硬核之上的用户空间
容器虚拟化也被称为操作系统虚拟化
由于依赖于操作系统的特性,容器只能运行在相同或相似内核的操作系统
docker容器依赖于Linux内核的namespace和cgroup特性
容器:应用+依赖的库
2、虚拟机
通过中间层将一台或多台独立机器虚拟运行在物理硬件之上
虚拟机:应用+依赖的库+系统+模拟硬件行为
3、docker的目标
- 提供简单轻量级的建模方式
- 职责的逻辑分离
- 快速高速的开发生命周期
- 鼓励面向服务的架构
4、docker的使用场景
- 1、使用docker容器开发、测试、部署服务
- 2、开发隔离的运行环境
- 3、搭建测试环境
- 4、构建多用户的平台即服务(Paas)基础设施
- 5、提供软件即服务(Saas)应用程序
- 6、高性能、超大规模的宿主机部署
5、docker的基本组成
- docker客户端(client)和守护进程 (daemon)
- docker镜像(image)
- docker容器(container)
- docker仓库(registry)
docker客户端和守护进程
docker是C/S架构,docker客户端发送命令,docker守护进程接收并返回命令执行结果
docker镜像(容器的基石)
层叠的只读文件系统
首先加载docker的引导文件bootfs,再上层是roofts(ubuntu、centos)(基础镜像),再上层是层叠文件(联合加载)
docker容器(启动和执行)
通过镜像启动
在层叠文件之上,叫做可写层
写时复制
docker仓库
公有和私有仓库
二、docker安装
1、centos6安装docker
yum install -y epel-release
yum install -y docker-io
- 查看docker配置文件:
cat /etc/sysconfig/docker
- 启动docker服务:
service docker start
- 查看版本|验证:
docker version
2、centos7安装docker
- Uninstall old versions
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- Install using the repository
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 添加软件源信息:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
-
更新 yum 缓存:
sudo yum makecache fast
-
Install Docker-ce:
$ sudo yum install docker-ce docker-ce-cli containerd.io
- Start Docker:
sudo systemctl start docker
- Verify Docker:
$ sudo docker run hello-world
三、docker阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://s3nx9th0.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker