Docker学习(三)在CentOS中安装Docker

《Docker学习(一)Docker简介》

《Docker学习(二)在Windows10中安装Docker》

Docker简介

Docker文档:https://docs.docker.com/

Docker Hub镜像集合:https://hub.docker.com

Docker是给开发者或系统管理者提供的一个平台,用来使用容器来构建、运行、分享他们的应用程序。使用容器来部署应用被称为容器化。

容器化越来越流行,其具有以下特性:

灵活性:即便是非常复杂的应用程序也是可以被容器化的。

轻量级:容器利用并共享主机内核,使它们在系统资源方面比虚拟机更高效。

可移植性:可以在本地构建、部署到云,并在任何地方运行。

松耦合:容器是高度自给和封装的,允许更换或升级其中一个而不中断其他容器。

可扩展性:可以通过数据中心增加和自动分发容器副本。

安全:容器对进程进行了严格的约束和隔离,而不需要用户进行任何配置。

Docker镜像与容器

从根本上说,容器只不过是一个正在运行的进程,其中应用了一些附加的封装特性,以便使它与主机和其他容器隔离。容器隔离的一个最重要的方面是每个容器与它自己的私有文件系统交互;这个文件系统由Docker镜像提供。镜像包括运行应用程序所需的所有内容,包括代码或二进制文件、运行时环境、依赖项以及所需的任何其他文件系统对象。

Docker容器与虚拟机

容器在Linux本地运行,与运行在该Linux上的其他容器共享Linux内核。容器运行一个互相不关联的独立进程,占用的内存不超过任何其他可执行文件,使其轻量级。

相比之下,虚拟机(VM)运行一个全面的“guest”操作系统,通过hypervisor对主机资源进行虚拟访问。一般来说,除了应用程序逻辑所消耗的外,虚拟机会产生很多开销。

Docker的部分概念

Docker 容器(Container):独立运行的一个或一组应用,是镜像运行时的实体。

Docker 主机(Host):一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker Registry:Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。一个 Docker Registry 中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

选择Docker在Linux上安装的方式

查看Linux系统的版本信息:

cat /proc/version

查看Linux系统发行版信息:

cat /etc/redhat-release

访问https://docs.docker.com/

点击如上图椭圆标注的Download and install,进入如下图页面

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

点击上图中的“Docker for Linux”,开始安装Docker Engine,参考官方安装文档链接;https://docs.docker.com/engine/install/

Docker Engine可在多种Linux平台、macOS和Windows 10上通过Docker Desktop提供,并作为静态二进制安装包来进行安装。

选择如上图中箭头指示的CentOS,进入CentOS中Docker安装的页面,对应的链接为:https://docs.docker.com/engine/install/centos/

根据实际的需要,可以通过不同的方式安装Docker Engine:

a.大多数用户建立Docker的存储库并从中安装,以便于安装和升级任务。这是推荐的方法。

b.一些用户下载RPM包并手动安装,完全手动管理升级。这在某些情况下很有用,比如在没有网络连接的系统上安装Docker。

c.在测试和开发环境中,一些用户选择使用自动化的脚本来安装Docker。

本文中将使用方式a进行安装

使用Docker的存储库进行安装

在新主机上首次安装Docker Engine之前,需要设置Docker存储库。然后,您可以从存储库安装和更新Docker。

设置存储库

sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装Docker Engine

在使用yum install或yum update进行安装或者更新时,如果没有明确指定版本号,则默认安装或更新到最新的可用版本,最新版往往不是稳定版本,这样可能不会满足您对稳定性的需求。所以,最好是指定安装或者更新的具体版本号。

列出存储库中可用的版本列表,然后进行选择和安装

yum list docker-ce --showduplicates | sort -r

安装指定版本的docker,docker-ce追加上图中第二列中:-之间的内容,如docker-ce-19.03.9

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

使用19.03.9替换上面指令中的<VERSION_STRING>,替换后如下

sudo yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io

如上图箭头位置,输入y

如上图箭头位置,输入y

Complete!安装完成

启动Docker

sudo systemctl start docker

验证Docker是否成功安装

sudo docker run hello-world

此命令执行的过程:

1.首先在本地仓库中寻找镜像hello-world,发现本地没有

2.Docker client与Docker daemon建立连接

3.Docker daemon从Docker Hub拉取镜像hello-world

4.Docker daemon使用镜像hello-world创建一个新的容器并运行,该hello-world应用程序会打印一些信息

5.Docker daemon以数据流的形式将4中的打印信息传送给Docker client处理,然后就显示在我们的终端界面中

更新Docker Engine

To upgrade Docker Engine, follow the installation instructions, choosing the new version you want to install.

猜你喜欢

转载自blog.csdn.net/chenbinqq/article/details/107100232