Docker 是一个开源的应用容器引擎,基于 GO 语言开发。提供 Docker 容器 可以封装 开发者的应用以及应用依赖,该 容器使用沙箱机制,保证了容器之间的安全性。Docker 容器可以移植性,发布到 Linux 主机上,可以实现虚拟化。
1.Docker 的特点
- 简单的管理
docker 的修改以增量的方式被分发和更新,可以实现自动化高效的管理 - 快速的交付和部署
开发人员可以使用docker 镜像来构建一套开发的容器,运维人员可以直接使用 docker 容器来部署代码。并且 docker 容器启动速度快,大量节约了开发 、测试 、 部署的时间 - 高效的虚拟化
由于 docker 容器运行时采用的 内核级别的虚拟化,不需要额外的虚拟机程序软件支持,所以性能和效率更高 - 方便的迁移和扩展
docker 容器可以运行在 任意的平台上,任意平台上的应用,都可以采用docker 容器来进行迁移和扩展
2. Docker 的安装
2.1 安装要求
docker 支持多种平台,诸如 window 、 mac 、 linux 以及各种 cloud 平台上。建议安装在 ubuntu 系统上,由于 docker 是基于 ubuntu 系统发布的。当然我们可以根据自己的对平台的熟悉程度来选择。
我们就采用 centos7 平台来安装docker,这里如果采用 centos7 来安装docker ,平台系统为 64位,并内核版本必须是 3.10 以上;docker 有两个版本一个是免费的社区版CE,另一个是收费的企业版EE,当然这里采用免费版学习
2.2 安装方式
- 在线安装
1.安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.更新 yum 缓存:
sudo yum makecache fast
4.安装 Docker-ce:
sudo yum -y install docker-ce
5.启动 Docker 后台服务
sudo systemctl start docker
6.测试运行 hello-world
[root@runoob ~]# docker run hello-world
docker run hello-world 远程拉取一个 hello-world 镜像并在容器启动
- 脚本安装
1.确保 yum 包更新到最新。
$ sudo yum update
2、执行 Docker 安装脚本。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
执行这个脚本会添加 docker.repo 源并安装 Docker。
3、启动 Docker 进程。
sudo systemctl start docker
4、验证 docker 是否安装成功并在容器中执行一个测试的镜像。
$ sudo docker run hello-world
5. 查看运行的容器
docker ps
- 删除 docker
$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker
- 添加国内镜像
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
3.Docker 的运行机制
3.1 docker 架构
docker 架构图- Client 客户端
docker 的客户端,通过 docker cli 命令行令接口相关指令跟 docker 守护进程进行交互,从而进行镜像的拉取、创建 和运行等操作 - DOCKER_HOST docker 主机
docker 主机就是 docker 内部引擎运行的主机。指的是 docker daemon 守护进程跟 client 客户端和 registry 注册中心进行交互,从而管理 image 镜像、 网络 、 容器 、 数据卷对象。 - Registry 注册中心
注册中心实质就是 docker 镜像仓库。默认使用的是 docker 官方的远程仓库、也可以搭建自己的本地仓库
网友评论