1、Docker概述
Docker是go语言开发的一款开源的应用容器引擎,基于linux内核cgroup\namespace、union FS等技术,对应用进程进行封装隔离,并且独立与宿主机与其他进程,这种运行时封装的状态称为容器。
docker 早期版本实现是基于LXC,并进一步对其封装,包括文件系统、网络互连、镜像管理等方面,极大简化了容器管理,从0.7版本以后开始去除LXC,转为自主研发的libcontainer
docker 理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意的linux 发现版docker引擎上,是用沙箱机制运行程序,程序之间互相隔离。
Docker是使用最广泛的开源容器引擎,一种操作系统级别的虚拟化技术,依赖linux内核特性,一个简单的引用程序打包工具。
2、Docker组成
Docker Client 客户端
Docker Daemon
Docker Images
Docker Container
Docker Registry
3、容器VS虚拟化
容器管理之--Docker概述&安装_第1张图片

container VM
启动级别 秒级 分钟级
运行性能 接近原生系统 5%左右损耗
磁盘占用 MB GB
数量 成百上千 几十台
隔离性 进程级 系统级,更彻底
操作系统 主要支出linux 几乎所有平台
封装承担 只打包项目代码和依赖关系,共享宿主机的内核 完整的操作系统

4、应用场景
(1)应用程序打包和发布
(2)应用程序隔离
(3)持续集成
(4)部署微服务
(5)快速搭建测试环境
(6)提供PaaS(平台即服务)
5、安装
官方文档:docs.docker.com
(1)卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)使用存储库安装
在新主机上首次安装Docker Engine - Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置存储库
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

使用以下命令设置稳定存储库。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

(3)安装DOCKER ENGINE - 社区
yum install docker-ce docker-ce-cli containerd.io

(4)启动docker服务,并设置开机启动
systemctl start docker
systemctl enable docker

如果有离线部署的需求,可用二进制包安装,
(1)下载二进制包:
https://download.docker.com/linux/static/stable/x86_64/

(2)使用该tar实用程序提取存档
$ tar xzvf /path/to/.tar.gz

(3)将二进制文件移动到可执行文件路径上的目录中,例如/usr/bin/。如果跳过此步骤,则必须在调用docker或dockerd命令时提供可执行文件的路径。

$ sudo cp docker/* /usr/bin/

(4)启动Docker守护程序
$ sudo dockerd &
如果需要使用其他选项启动守护程序,请相应地修改上述命令,或者创建并编辑该文件/etc/docker/daemon.json 以添加自定义配置选项。

(5)通过运行hello-world 映像验证Docker是否已正确安装。
$ sudo docker run hello-world