1、概念
(1)好处
打破了程序即应用的观念,因为之前的项目上线,需要将项目部署到服务器上,而开发人员的环境与运维人员的环境不同容易出现错误。而docker的出现将项目与配置一起整合放在服务器上从而解决了这个问题。
(2)与Linux操作系统的区别
Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。
虚拟机存在资源占用多、冗余步骤多、启动慢的缺点
(3)优点
更轻量:基于容器的虚拟化,仅包含业务运行所需的runtime环境,CentOS/Ubuntu基础镜像仅170M;宿主机可部署100~1000个容器,容器是用镜像创建的运行实例。
更高效:无操作系统虚拟化开销
计算:轻量,无额外开销
存储:系统盘aufs/dmfoverlayfs;数据盘volume
网络:宿主机网络,NS隔离
更敏捷、更灵活:分层的存储和包管理,devops理念支持多种网络配置
(4)Docker的基本组成
镜像、容器和仓库,仓库是存储镜像的地方,容器使用镜像创建多个运行实例
2、Docker的安装
(1)Docker对Centos版本的要求(7及以上版本)
[zhaihuabing@aubin ~]$ uname -r 3.10.0-862.el7.x86_64
(2)更新yum包
[root@zhai ~]# sudo yum update Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn
YUM:基于RPM包管理,能够直接从服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有的依赖软件包
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。
(3)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(4)设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(5)安装docker
sudo yum install docker-ce
(6)启动docker
$ sudo systemctl start docker
$ sudo systemctl enable docker
(7)验证
[root@aubin zhaihuabing]# docker version Client: Docker Engine - Community Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:03:45 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:02:21 2020 OS/Arch: linux/amd64 Experimental: false
3、阿里云镜像加速
(1)访问阿里云官网并注册登录
(2)进入控制台
(3)点击产品与服务后搜索镜像
(4)点击镜像加速器
(5)获取镜像加速地址
https://xx6x4grv.mirror.aliyuncs.com
(6)编辑配置文件
vim /etc/docker/daemon.json
添加地址:
(7)重启docker
[root@aubin zhaihuabing]# systemctl daemon-reload
[root@aubin zhaihuabing]# systemctl restart docker
4、运行hello world镜像
总结:
Docker是一个容器,采用yum方式安装,安装之前需要进行yum的更新然后安装软件包最后设置yum源,安装时或安装后需要配置加速器,然后重启Docker。
Docker的ce版是社区版免费,ee版是企业版付费