1. Docker 简介:
Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。
2. Docker的组成:
2.1 镜像(image)
镜像就像是一个模板,可以通过这个模板创建容器服务,一个镜像可以创建很多容器;
Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。
2.2 容器(container)
容器是用镜像创建的运行实例,容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台;
就像是Java中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。
2.3 仓库(repository)
仓库就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了;
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等。
3. Docker的安装部署
3.1 确定是CentOS7及以上版本
[root@active_sentinel ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
3.2 卸载旧的版本
[root@active_sentinel ~]# yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
3.3 下载需要的安装包
[root@active_sentinel ~]# yum install -y yum-utils
3.4 设置阿里云的镜像仓库
[root@active_sentinel ~]# yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.5 更新yum软件包索引
[root@active_sentinel ~]# yum makecache fast
3.6 下载Docker社区版
[root@active_sentinel ~]# yum -y install docker-ce docker-ce-cli containerd.io
3.7 开启Docker
[root@active_sentinel ~]# sudo systemctl start docker
[root@active_sentinel ~]# sudo systemctl enable docker
3.8 配置阿里云镜像加速:
[root@active_sentinel ~]# sudo mkdir /etc/docker
[root@active_sentinel ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ehwhajam.mirror.aliyuncs.com"]
}
EOF
[root@active_sentinel ~]# systemctl daemon-reload //重新加载配置文件
[root@active_sentinel ~]# systemctl restart docker //重启docker
3.9 卸载Docker
[root@active_sentinel ~]# yum remove docker-ce docker-ce-cli containerd.io //卸载依赖
[root@active_sentinel ~]# rm -rf /var/lib/docker //删除工作路径
[root@active_sentinel ~]# rm -rf /var/lib/containerd