Centos7系统在线与离线安装Docker

环境

centos 7.9
docker ce 20.10.9

Docker简介

  Docker 最初是 公司创始人Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub上进行维护。 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。

  Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 能够将应用程序与基础架构分离,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产环境中运行之间的延迟。

  Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 版本开始,则进一步演进为使用 runC 和 containerd。

   Docker的版本演进中产生了很多的名字,如docker-io、docker-engine、docker-ce、docker-ee。

  • docker-io

        docker-io是docker早期的版本,早期Docker官 的域名也是docker.io,docker.io由Ubuntu维护。在centos6下我们安装的Docker就是docker-io, 在Ubuntu上是docker.io

  • docker-engine

        docker-engine早期版本名称, 由Docker维护。版本 范围: 0.1.0 ~ 1.13.1,现在演变为docker-ceps: 现在yum源里默认已经不显示1.13和之前的版本了。centos7默认安装docker-io。ubuntu默认安装docker-ce。

  • docker-ce

        docker 区版,免费使用,为了开发人员或小团队创建基于容器的应用。2017年的3月1 之后,Docker的版本命名开始发生变化,同时将CE版本和EE版本进行分开,在下载docker 区版的时候会发现 区版有四个版本,分别是edge、nightly、stable、test,edge与stable两个版本发行。edge版本每月发布,每个月都会提供新功能。Stable版本每季度发布,每季度提供可靠的更新。test版本是预发布版本,nightly版本是正在进行中的版本也就最新的版本(可以理解成正在开发中的版本)

  • docker-ee

        docker企业版,也是收费的版本,提供了一些高级特性。

  • docker desktop

        docker桌面版本,能够以多种语言和框架在任何云平台上容器化和共享任何应用程序,轻松安装和设置完整的 Docker 开发环境

在线安装

打开Docker官 ,Home – Docker

点击导航栏Developers,选择Docs,如下图

选择Download and install

 根据自己的需要选择相应系统版本,这里选择Linux版本

 

 

 卸载已经安装过的Docker

在正式安装之前,如果我们已经安装了首先要先卸载掉之前版本的docker

1.卸载 Docker CE、CLI、Containerd 和 Docker Compose 软件包:

2.卸载旧版本的 docker-engine以及相关的依赖项

3.主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷

如果 没有安装过可以跳过此步骤直接进行安装。

安装Docker CE

 Docker主要有三种安装方法

  • 通过docker的repositories进行安装,这样可以简化安装和升级任务(官方推荐)。
  • 通过手动下载RP安装包进行安装和升级,适合在没有 络的环境下。
  • 通过自动化脚本进行安装,通常在测试环境和开发环境使用。

1. 通过repositories仓库安装

  • 设置yum源

通过yum来安装docker-ce,首先需要安装yum-config-manager命令用于管理软件仓库。可以调整yum的主要配置参数,启动或关闭指定软件源,删除已有软件仓库等工作)

1)安装yum-utils

2) 添加dockers yum源(如果官 的镜像源下载比较慢,也可以使用国内的镜像源)

  • 安装

        1)查看repo仓库中列出的可用版本

        2)选择需要安装的版本进行安装(如果不选择版本默认安装最新版本)

 3)安装完成后启动docker,并设置开机自动启动

4)使用hello-world镜像启动一个容器来验证docker是否安装成功(hello-world容器运行后会输出Hello from Docker!然后容器会自动退出)

 2. 使用RPM包进行安装

见下文的离线安装

3. 使用自动化脚本安装

Docker 在get.docker.com上提供了一个方便的脚本, 可以快速、非交互地将 Docker 安装到开发环境中。不建议将便利脚本用于生产环境,但可以用作示例来创建适合您需求的供应脚本。另请参阅使用存储库 安装步骤以了解使用包存储库安装的安装步骤。该脚本的源代码是开源的,可以 docker-install在 GitHub 上的存储库中找到。

脚本的潜在风险和限制:

  • 该脚本需要rootsudo特权才能运行。
  • 该脚本会尝试检测您的 Linux 发行版和版本并为您配置包管理系统,并且不允许您自定义大多数安装参数。
  • 该脚本会在不要求确认的情况下安装依赖项和建议。这可能会安装大量软件包,具体取决于主机的当前配置。
  • 默认情况下,该脚本安装 Docker、containerd 和 runc 的最新稳定版本。使用此脚本配置机器时,可能会导致 Docker 的主要版本升级意外。在部署到生产系统之前,始终在测试环境中测试(主要)升级。
  • 该脚本并非旨在升级现有的 Docker 安装。使用脚本更新现有安装时,可能无法将依赖项更新到预期版本,从而导致使用过时的版本。

1)从get.docker.com下载脚本

 2)执行脚本进行安装,默认安装的是最新的稳定版本的 Docker。

 3)安装完毕启动并查看docker状态

离线安装

1. 已知安装Docker所需要的依赖包和相应版本手动到官 下载RPM安装包和依赖包进行安装

有些情况下可能不能使用在线的形式进行docker的安装,就需要下载.rpm安装文件进行手动安装。

 

 2)安装rpm包

   安装rpm包的时候需要注意安装顺序,因为他们直接有依赖关系,如果顺序错误会有 错提示,可以根据 错信息首先安装被依赖的rpm包,如果依赖包没有下载,则需要下载后再进行安装

 在每个rpm包单独安装的过程中可能会出现两个包相互依赖,导致无法进行安装如下图所示,安装docker-scan-plugin时此包依赖了docker-ce-cli,于是便安装docker-ce-cli,但安装是又提示docker-ce-cli依赖了docker-scan-plugin此时无法进行正确安装。

 遇到上述问题我们可以直接执行 rpm -ivh *.rpm 命令进行安装,前提是所有的依赖包都已经下载了,这样才可以最终可以完成安装

 3)安装完成后启动docker,并设置开机自启

 4)使用hello-world镜像启动一个容器来验证docker是否安装成功

 2. 不知道安装docker所需要的依赖包和相应版本进行安装

    很多情况下可能不知道,安装一个软件都需要安装哪些依赖包,在有 的情况下我们直接使用yum进行安装会自动检测依赖并下载依赖进行安装十分的方便。但在没有 络的环境下就需要我们手动下载所有的依赖然后进行安装。这种情况可以在有 络的机器上下载好需要的安装包和依赖包然后复制到没有 络的机器上进行安装即可。

1)如果没有 络的机器上没有安装device-mapper-persistent-data、lvm2,在有 络的机器上下载device-mapper-persistent-data、lvm2 rpm包

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月16日
下一篇 2022年5月16日

相关推荐