一.docker简介
二.docker的优点
1.交付和部署速度快
2.高效虚拟化
3.迁移性和扩展性强
4.管理简单
三.docker的基本概念
1.镜像
2.容器
3.仓库
四.docker的安装部署
(1)点击容器
(2)选择docker-ce,根据相应系统和版本跟着文档进行操作
(3)配置docker镜像加速
一.docker简介
docker是一个开源的应用容器引擎(可以理解为软件集中平台),可以很容易地为任何应用创建一个轻量级、可移植、自给自足的容器,经过测试通过的容器可以批量应用在bare、vms等生产环境中。各容器本身是相互隔离的,相较于虚拟机来说,容器不包含操作系统,共用宿主机的操作系统和运行时库。
二.docker的优点
1.交付和部署速度快
一次创建配置,在任意地方正常运行,docker快速创建容器,快速迭代应用程序,过程透明,秒级启动,开发测试更快且更容易理解和部署
2.高效虚拟化
Docker是内核级的虚拟化,效率更高,性能更接近原生,单机即可支持上千个容器
3.迁移性和扩展性强
Docker容器在开发完成后几乎可以在任何平台使用,物理机/虚拟机、公有云/私有云、个人电脑/服务器设备等,极强的兼容性也允许用户把应用程序进行异平台迁移
4.管理简单
对Docker的修改都是增量的方式,简单几步即可替代以往大量繁琐步骤
三.docker的基本概念
1.镜像
Docker镜像是一个特殊的文件系统(由一组文件系统组成),包括有容器运行时的需要的程序、库、资源、配置文件,运行配置参数等,但不包含任何的动态数据,在构建完成后其内容也不会发生改变。Docker镜像采用分层存储,在之前构建好的镜像基础上添加锌层,钉子新内容,镜像复用性更强。
2.容器
镜像运行时的实体,docker利用容器来运行应用,同样采用分层存储。容器可以看作是进程,但容器进程有自己的独立的命名空间,所有它可以拥有自己的root文件系统、网络配置、用户空间等,运行在一个隔离环境里。
容器相对于静态概念镜像来说,容器可以创建、启动、停止、删除、暂停,这种环境下,容器封装完善的应用比运行在宿主机更安全。为容器运行时读写准备的存储层称为容器存储层,容器删除时容器存储层跟着被删除。
容器存储层应该保持无状态化,即不能被容器写入任何数据,所有的文件写入操作应该使用数据卷或绑定宿主的数据姆露露来跳过容器存储层,直接对宿主产生读写行为那么性能和稳定性可能更高。数据卷不会因为容器的删除而被删除。
3.仓库
用于集中存储镜像文件。我们要在其他服务器上使用搭建完成的镜像时需要一个集中存储、分发镜像的服务(docker registry,又分公有和私有),一个dockerregistry可以包含多个仓库,一个仓库可以包含多个标签,一个标签只能对应一个镜像(一般采用“仓库名:标签”的格式指定软件版本镜像)。
四.docker的安装部署
Centos7根据阿里云的源和指导进行yum方式安装
(1)点击容器
(2)选择docker-ce,根据相应系统和版本跟着文档进行操作
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 #安装必要工具
[root@localhost~]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #新增源
[root@localhost ~]# sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo #修改源文件
[root@localhost ~]# yum makecache fast #更新
[root@localhost ~]# yum -y install docker-ce #安装docker-ce
[root@localhost ~]# yum list docker-ce.x86_64 --showduplicates | sort -r #可以通过这行命令找到自己想要安装的具体版本,默认是安装最新版本
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker version #查看docker版本
Client: Docker Engine - Community
Version: 24.0.5
API version: 1.43
Go version: go1.20.6
Git commit: ced0996
Built: Fri Jul 21 20:39:02 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.5
API version: 1.43 (minimum version 1.12)
Go version: go1.20.6
Git commit: a61e2b4
Built: Fri Jul 21 20:38:05 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.22
GitCommit: 8165feabfdfe38c65b599c4993d227328c231fca
runc:
Version: 1.1.8
GitCommit: v1.1.8-0-g82f18fe
docker-init:
Version: 0.19.0
GitCommit: de40ad0
(3)配置docker镜像加速
[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# ll
total 0
[root@localhost docker]# vim daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
#使用的是中国科技大学的镜像加速器,也可以选择阿里云的
[root@localhost docker]# systemctl daemon-reload #重载配置并重启
[root@localhost docker]# systemctl restart docker