Centos7安装Docker

文章目录


前言

Docker 是一个开源的平台,用于自动化应用程序在容器中的部署、管理和运行。它通过将应用程序及其依赖项打包到一个标准化的单元中,使得软件能够在任何环境下保持一致的运行状态

一、Docker 的关键概念

 1.容器(Container)

容器是Docker的核心概念。它是一个轻量级的、可执行的独立软件包,包含了应用程序及其所有依赖项(如库、配置文件等),能够在不同环境中一致地运行。与虚拟机不同,容器共享操作系统内核,因此启动速度快,资源消耗低。

2.镜像(Image)

镜像是用于创建容器的静态文件。它包含了应用程序、运行时环境、库以及配置文件等。镜像是不可变的,在镜像上启动容器时,会根据镜像内容生成一个运行中的容器。

3.Dockerfile

Dockerfile是一个包含了构建Docker镜像指令的文本文件。开发者可以通过编写Dockerfile,定义镜像的构建过程,包括安装应用程序、设置环境变量、配置文件等。Docker通过读取Dockerfile生成镜像。

4.Docker引擎(Docker Engine)

Docker引擎是Docker的核心组件,负责容器的创建、管理和运行。它包含了Docker守护进程(Docker Daemon)、REST API接口以及命令行工具(Docker CLI)。Docker守护进程管理着容器的生命周期,API接口和CLI工具允许用户与Docker进行交互。

5.Docker Hub

Docker Hub 是一个公共的容器镜像库,用户可以在Docker Hub上查找、下载和分享容器镜像。它提供了成千上万的官方和用户生成的镜像,用于快速构建和部署应用程序。

二、Docker 的优势

1.跨平台一致性

通过容器化,Docker确保了应用程序在开发、测试和生产环境中的一致性。容器内部包含所有依赖项,因此不受外部操作系统环境的影响。

2.轻量级

与虚拟机相比,Docker容器更轻量级。因为容器共享操作系统内核,每个容器仅需要运行特定应用程序及其依赖项,这使得容器的启动速度更快,资源开销更低。

3.快速部署

Docker镜像可以在几秒钟内启动一个容器,极大地加快了应用程序的部署速度。开发人员可以更频繁地发布和更新应用程序

4.微服务架构支持

Docker非常适合微服务架构。在这种架构中,应用程序被拆分为多个小的、独立部署的服务。每个服务都可以被容器化,并独立于其他服务部署和运行

5.版本控制与回滚

Docker镜像是版本化的,每个镜像都有一个唯一的标签。用户可以轻松回滚到之前的版本,或者并行运行多个版本的应用程序

6.扩展性

Docker与集群管理工具(如Kubernetes)结合使用,可以轻松实现应用程序的扩展。多个容器可以在不同的主机上协同工作,以满足高负载的需求

三、Docker 的使用场景

1.持续集成和持续部署(CI/CD)

Docker在CI/CD流水线中被广泛使用,可以简化构建、测试和部署的过程,使得每个步骤都能够在一致的环境中执行

2.多云部署

由于Docker容器化的应用程序不依赖于特定的操作系统或云提供商,因此可以轻松地在不同的云环境中进行部署

3.开发环境标准化

开发人员可以使用Docker创建标准化的开发环境,避免“在我机器上正常”的问题。团队中的每个成员都可以使用相同的容器化环境进行开发

4.应用程序隔离

Docker允许不同的应用程序在同一台机器上运行而互不干扰,提供了应用程序之间的隔离性,提升了安全性和资源利用效率

四、Docker安装

1. 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • yum-utils:一组包含yum-config-manager等有用工具的包,帮助管理YUM仓库和软件包。
  • device-mapper-persistent-data:Device Mapper是Linux内核中的一部分,用于提供对高级存储管理的支持。这个包包含了持久数据管理工具,Docker用它来管理容器的存储。
  • lvm2:Logical Volume Manager 2(LVM2)是用于管理磁盘分区的工具。Docker使用LVM来实现可扩展的存储管理。

这些工具是安装Docker所需的基础设施,确保Docker在系统上能够正确配置和运行

[root@VM-4-13-centos ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel                                                                                                                                                                                                                                              | 4.3 kB  00:00:00     
extras                                                                                                                                                                                                                                            | 2.9 kB  00:00:00     
os                                                                                                                                                                                                                                                | 3.6 kB  00:00:00     
updates                                                                                                                                                                                                                                           | 2.9 kB  00:00:00     

Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Package device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 already installed and latest version
Package 7:lvm2-2.02.187-6.el7_9.5.x86_64 already installed and latest version
Nothing to do
[root@VM-4-13-centos ~]# 

执行结果输出内容解释:

  1. Loaded plugins: fastestmirror, langpacks

    • fastestmirror:这是一个YUM插件,用于自动选择下载最快的软件源镜像。
    • langpacks:这是另一个YUM插件,管理系统的语言包,确保系统和软件支持多语言环境。
  2. Loading mirror speeds from cached hostfile

    • YUM正在从缓存的主机文件中加载镜像速度信息,这个过程有助于快速选择下载软件包的最佳镜像源。
  3. epel, extras, os, updates

    • 这些是你系统上已配置的YUM软件仓库或镜像源。每一行表示YUM在从这些仓库中加载软件包信息。它们的内容如下:
      • epel:Extra Packages for Enterprise Linux,一个为RHEL和CentOS等发行版提供额外软件包的仓库。
      • extras:CentOS的额外软件包仓库。
      • os:CentOS的基础操作系统软件包仓库。
      • updates:用于系统和软件更新的仓库。
  4. Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version

    • 系统检测到 yum-utils 包已经安装,并且是最新版本 (1.1.31-54.el7_8.noarch)。
  5. Package device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64 already installed and latest version

    • 系统检测到 device-mapper-persistent-data 包已经安装,并且是最新版本 (0.8.5-3.el7_9.2.x86_64)。
  6. Package 7:lvm2-2.02.187-6.el7_9.5.x86_64 already installed and latest version

    • 系统检测到 lvm2 包已经安装,并且是最新版本 (2.02.187-6.el7_9.5.x86_64)。
  7. Nothing to do

    • 由于所有指定的软件包都已安装且为最新版本,因此系统没有需要执行的安装操作。这表示这个步骤已完成,且不需要进一步的动作。

2.添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • yum-config-manager --add-repo:这个命令用于添加一个新的YUM软件仓库。
  • http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo:这是阿里云提供的Docker-CE(Community Edition)软件仓库URL。Docker-CE是Docker的开源版本,阿里云的镜像源可以加快下载速度。

通过添加这个仓库,你可以从Docker官方或镜像站获取最新的Docker软件包

[root@VM-4-13-centos ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

执行结果输出内容解释: 

  1. Loaded plugins: fastestmirror, langpacks

    • 这表示YUM加载了一些插件:
      • fastestmirror:用于选择最快的镜像源,从而加速软件包下载。
      • langpacks:管理系统的语言包,确保多语言环境的支持。
  2. adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    • 这表示YUM正在添加一个新的软件源(仓库)。这个源来自阿里云的Docker-CE镜像仓库URL。
  3. grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

    • YUM正在从指定的URL下载该仓库的配置文件,并将其保存到系统的YUM配置目录中。这个配置文件定义了Docker-CE软件包的下载地址及相关的YUM仓库信息。
  4. repo saved to /etc/yum.repos.d/docker-ce.repo

    • 最终,YUM已将仓库配置文件保存到系统的/etc/yum.repos.d/目录下,文件名为docker-ce.repo。这个目录存放了所有的YUM仓库配置文件

3.更新并安装 Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce
  • yum makecache fast:这个命令用于生成YUM缓存,以确保可以从新添加的软件源中快速获取软件包信息。fast参数加快了这个过程。
  • yum -y install docker-ce:安装Docker-CE,-y参数表示自动确认所有提示,避免人工干预。

这一部分确保系统安装了最新版本的Docker-CE,并且配置已经准备好接收Docker相关软件包。

[root@VM-4-13-centos ~]# sudo yum makecache fast
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
docker-ce-stable                                                                                                                                                                                                                                  | 3.5 kB  00:00:00     
epel                                                                                                                                                                                                                                              | 4.3 kB  00:00:00     
extras                                                                                                                                                                                                                                            | 2.9 kB  00:00:00     
os                                                                                                                                                                                                                                                | 3.6 kB  00:00:00     
updates                                                                                                                                                                                                                                           | 2.9 kB  00:00:00     
(1/2): docker-ce-stable/7/x86_64/updateinfo                                                                                                                                                                                                       |   55 B  00:00:00     
(2/2): docker-ce-stable/7/x86_64/primary_db                                                                                                                                                                                                       | 152 kB  00:00:00     
Metadata Cache Created

 执行结果输出内容解释: 

  1. Loaded plugins: fastestmirror, langpacks

    • fastestmirror:YUM加载了fastestmirror插件,该插件用于自动选择最快的镜像源,以加快软件包的下载速度。
    • langpacks:YUM加载了langpacks插件,该插件用于管理语言包,确保系统支持多语言环境。
  2. Loading mirror speeds from cached hostfile

    • YUM正在从缓存的主机文件中加载镜像源的速度信息。这个步骤帮助YUM选择最优的镜像源以加快下载速度。
  3. docker-ce-stable

    • 表示从docker-ce-stable仓库下载了元数据文件。docker-ce-stable 是刚刚添加的Docker-CE稳定版的YUM仓库。
  4. epel

    • 表示从epel(Extra Packages for Enterprise Linux)仓库下载的元数据文件。
  5. extras:

    • 表示从extras仓库下载的元数据文件。
  6. os

    • 表示从os仓库下载的元数据文件。
  7. updates

    • 表示从updates仓库下载B的元数据文件。
  8. (1/2): docker-ce-stable/7/x86_64/updateinfo 

    • 表示从docker-ce-stable仓库下载的updateinfo文件,用于提供软件包的更新信息。
  9. (2/2): docker-ce-stable/7/x86_64/primary_db 

    • 表示从docker-ce-stable仓库下载的primary_db文件,这是YUM的主数据库文件,包含了仓库中所有软件包的元数据信息。
  10. Metadata Cache Created

    • 表示YUM已经成功创建或更新了本地的元数据缓存。这意味着YUM现在已经缓存了所有必要的元数据文件,可以快速地访问这些数据以进行软件包的安装和管理。

4.开启Docker服务

sudo service docker start
  • service docker start:这是一个用于启动Docker守护进程的命令。Docker守护进程是Docker的核心服务,负责管理和运行容器。

执行完这个命令后,Docker守护进程将在后台运行,系统已经准备好运行Docker容器

[root@VM-4-13-centos ~]# sudo service docker start
Redirecting to /bin/systemctl start docker.service

 5.安装版本检查

docker version

6.Docker镜像配置

Docker 默认镜像为Docker Hub,可以基于自己的选择使用国内的镜像,此处使用了阿里镜像

方式1:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<your-mirror-url>"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

方式2:

sudo vi /etc/docker/daemon.json


# 添加镜像
{
  "registry-mirrors": ["https://<your-mirror-url>"]
}

# 重新加载配置及重启
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里的镜像每个人都是不同的,需要进入阿里云控制台进行查阅

阿里云镜像加速器


总结

以上步骤通过安装必要的工具、配置软件源、安装Docker-CE和启动Docker服务,完成了Docker在CentOS系统上的安装。安装完成后,可以使用Docker命令行工具来管理容器、镜像和其他Docker资源。

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值