文章目录
- 前言
- 一、Docker发展与简介
-
- [1.1 云服务介绍](#1.1 云服务介绍)
- [1.2 虚拟化介绍](#1.2 虚拟化介绍)
-
- [1.2.1 虚拟机分类](#1.2.1 虚拟机分类)
- [1.2.2 虚拟机产品](#1.2.2 虚拟机产品)
- [1.3 docker的作用](#1.3 docker的作用)
- [1.4 docker版本](#1.4 docker版本)
- [1.5 docker与传统虚拟机的区别](#1.5 docker与传统虚拟机的区别)
- [1.6 docker简介](#1.6 docker简介)
-
- [1.6.1 logo](#1.6.1 logo)
- [1.6.2 docker组件介绍与运行原理](#1.6.2 docker组件介绍与运行原理)
- 二、docker安装
-
- [2.1 环境配置](#2.1 环境配置)
- [2.2 安装docker](#2.2 安装docker)
- [2.3 docker 基本操作命令(部分)](#2.3 docker 基本操作命令(部分))
- [2.4 镜像的导入与导出](#2.4 镜像的导入与导出)
- [2.5 上传镜像](#2.5 上传镜像)
- 总结
前言
本文初步介绍了docker的概念、组成部分、分类等等,并且在docker的创建与docker的基本命令有简单的讲解。
一、Docker发展与简介
1.1 云服务介绍
云计算 是通过网络为用户提供可伸缩的计算资源。云服务通常分为以下几种类型:
1.IaaS(基础设施即服务)
提供虚拟化计算资源(如虚拟机、存储、网络等)。
用户可以灵活配置自己的计算环境,负责安装操作系统、管理资源等。
优点:灵活度高、可扩展性强。
缺点:管理复杂,需要较多技术支持。
2.PaaS(平台即服务)
提供一个开发平台,用户可以在上面开发应用程序,而无需关注底层硬件或操作系统。
优点:简化开发过程,适合开发者。
缺点:灵活度较低,可能受到平台限制。
3.SaaS(软件即服务)
提供已经构建好的应用程序,用户可以直接使用,无需安装和维护。
优点:快速部署,省时省力。
缺点:定制化差,依赖于服务提供商。(国内一般不用)
4.DaaS(数据即服务)
提供数据处理和分析服务,用户可以访问、分析云端存储的大数据。
优点:降低用户管理数据的难度。
缺点:可能涉及数据隐私问题。
1.2 虚拟化介绍
1.2.1 虚拟机分类
虚拟化分为:半虚拟化与全虚拟化
半虚拟化:需要通过与物理操作系统协作,不是完全的模拟物理硬件的环境。
全虚拟化:完全模拟物理硬件比如(cpu、内核等),就像用真实服务器一样。
1.2.2 虚拟机产品
VMware:广泛使用的企业级虚拟化平台,支持全虚拟化和半虚拟化。
Hyper-V:由微软推出的虚拟化平台,集成于 Windows Server 中。VirtualBox:适用于个人和开发者的虚拟化产品,跨平台支持(Linux、macOS、Windows)。
1.3 docker的作用
为什么要使用docker呢?docker有什么用,举个简单的例子,当大家在企业上班时用的是企业专门的计算机,日常的所有数据与应用都存在企业计算机中,那如果出差外办公的时候,又怎么进行办公,难道是重新下载服务吗?当然不可能,这么数据不可能说一下子就能够下载,难道是把数据直接传到计算机中,这种方法可行,但是要考虑数据的大小,先不说计算机的硬性条件能不能扛的住,传数据就需要耗费大量时间,这时候docker的作用就体现出来了,用docker将数据保存成镜像,之后存入私有的镜像仓库中(如果可以公开也可以用公有仓库),最后将镜像运行就可以变成服务,这里要注意,存储过程中,服务会以镜像的形式进行保存,这可以大大减少内存压力,并且安装过程也是极快,只有当运行镜像后才会变成服务。因此,docker进行数据保存可以实现无缝数据迁移,这个概念类似于将应用放入一个容器(集装箱),无论容器被移动到哪个环境,它都能保持原有的运行状态。
容器技术相比传统的虚拟化技术(如 VMware)具有显著优势。传统虚拟化需要在每个虚拟机中运行完整的操作系统,资源消耗大,而 Docker 仅在宿主操作系统上运行多个隔离的容器,不需要完整的操作系统,大大减少了系统开销和资源浪费。
1.4 docker版本
docker分为两个版本:ce与ee
Docker Community Edition (CE):适用于个人开发者或小型团队,提供基本的容器功能,免费使用。
Docker Enterprise Edition (EE):适用于大规模生产环境,强调企业级的安全性和支持,通常是付费版本。
每个版本的发布周期不同,CE 通常每个月发布新版本,而 EE 版本则会有更长的维护周期。
1.5 docker与传统虚拟机的区别
Docker 通过操作系统级虚拟化(LXC)提供轻量级的虚拟化,容器之间共享宿主机的操作系统内核,因此相比传统虚拟机,Docker 容器更加轻便、高效。
传统虚拟机:每个虚拟机都包含完整的操作系统,资源占用大。
Docker 容器:共享宿主操作系统的内核,启动快,占用少,易于管理。

1.6 docker简介
1.6.1 logo
Docker 的 Logo 设计:
Docker 的 Logo 设计为一条蓝色鲸鱼,拖着许多集装箱。鲸鱼代表宿主机,集装箱代表相互隔离的容器,每个集装箱中都包含自己的应用程序。
Docker 的设计宗旨:
Docker 的设计宗旨是 Build, Ship and Run Any App, Anywhere。通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的"一次封装,到处运行"的目的。这里的组件可以是一个应用、一套服务,甚至是一个完整的操作系统。

鲸鱼背上有集装箱
蓝色的大海里面--------宿主机系统window10/linux
鲸鱼 ---------- docker
集装箱 ---------容器实例 from 来自我们的镜像模板
1.6.2 docker组件介绍与运行原理
client:客户端,用于操作命令,具体命令有:pull(拉取、下载)、run(运行)、save(导出,类似于mysql中的备份)、load(导入,类似与mysql中的还原)等
Registry:镜像仓库,下载镜像后用于存储镜像的地方。
Images:镜像,镜像就是一个一旦生成就不能修改只能读的软件包,它里面存放了很多数据,但进行过类似于压缩处理,因此存储大小会很小。
Container:容器又称为实例,如果说下载了一个nginx镜像,那么客户端在对这个镜像执行运行操作后,这个镜像就会变成一个实例(容器),简单来说就是nginx服务。
Docker daemon(Docker守护进程)
Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker客户端与之通信。

原理:
这里拿apache服务举例,客户想使用apache服务,首先得去用拉取操作下载这个镜像,镜像下载后会存放在镜像仓库,客户端对httpd镜像执行运行命令就可以将镜像变为容器(实例),这样就可以使用apache服务。
二、docker安装
2.1 环境配置
10.0.0.100 docker
关闭防火墙与网络增强服务
setenforce 0 ------------------------------------------------关闭网络增强服务
systemctl stop firewalld ------------------------------------------------------关闭防火墙

安装docker相关的依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

2.2 安装docker
第一步 安装镜像源
镜像源类似于数据库,当我们要下载某个镜像时就会去镜像源中寻找资源包。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ------------------------安装阿里云镜像源

第二步 安装docker服务选择ce版本(免费,适用于个人适用)
yum install -y docker-ce docker-ce-cli containerd.io(可以指定版本)

第三步 开启docker服务
systemctl enable docker --now ---------------------------------永久开启docker服务

docker --version ------------------------------------查看docker版本
docker info ------------------------------------查看docker信息

第四步 安装docker加速器
因为官方的docker hub 服务器在国外,因此在国内可能会因为网络原因使得镜像下载慢、卡顿等问题,而国内的阿里云、网易云、华为云等提供了 "镜像加速器",它们会定期同步官方镜像,你配置后就能从国内服务器下载,速度会提升几十倍甚至上百倍。
mkdir -p /etc/docker ------------------------创建加速器目录
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://0a40cefd360026b40f39c00627fa6f20.mirror.swr.myhuaweicloud.com" ]
}
EOF

安装完加速器后一定要记得重启服务
systemctl daemon-reload ------------------------------------------------重新加载
systemctl restart docker ------------------------------------------重新启动docker
可以用docker info 查看docker信息

2.3 docker 基本操作命令(部分)
docker pull httpd ------------------------------------------拉取(下载)httpd镜像

docker images | grep nginx ------------------------查看本地镜像仓库

docker tag 镜像名:原标签 镜像名:新标签

docker rmi 镜像名:标签 ------------------------------------------------删除镜像
(注意:删除指定标签的镜像。如果镜像有多个标签,删除指定标签不会删除镜像本身,只有在没有其他标签和容器依赖的情况下才会彻底删除镜像若镜像已被容器使用,需先删除容器)

2.4 镜像的导入与导出
如果发现镜像仓库里面的镜像被删除了,我们可以用导入与导出的方式进行还原,类似与mysql备份还原,接下来将实验一次镜像还原
第一步 导出镜像
docker save -o 镜像压缩包名字(以tar包形式) 要导出的镜像名:标签 ------------------------将镜像导出到当前目录(备份)

第二步 删除镜像
docker rmi httpd:123 ------------------------------删除镜像

第三步导入镜像(还原)
docker load -i httpd.tar ------------------------------导入httpd.tar
docker load > nginx.tar ------------------------------导入httpd.tar
2.5 上传镜像
第一步 在容器镜像站创建镜像仓库

第二步 登录阿里云 Container Registry

第三步 在本地建立一个阿里云的镜像标签用于之后的传输

第四步 将镜像推送到在阿里云的私有镜像仓库


总结
本文初步介绍了docker的概念、组成部分、分类等等,并且在docker的创建与docker的基本命令有简单的讲解,希望本文内容能对您有所帮助,谢谢观看😜