• 在Centos系统中安装Docker


    前言:

    网上很多关于docker在centos系统上的安装教程,但是又各有异同,比较混乱。所以,此文章接下来的对于docker的安装,将参照官方的文档进行安装。

    官方文档地址:https://docs.docker.com/install/linux/docker-ce/centos/

    Docker版本

    Docker如今划分成了2个版本:

    • Docker CE(社区版)

    • Docker EE(企业版)

    具体详情以及区别,就不多做说明了。我们一般都会选择Docker CE(社区版),因为CE版本是开源免费的。对于大多数企业公司都比较节约成本。

    因此,文章中所使用的Docker版本均为Docker CE版本。

    安装Docker CE版本的先决条件

    官方文档中有这样一段描述:

    OS requirements
    To install Docker CE, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.
    

    翻译过来的中文意思就是:

    OS要求

    要安装Docker CE,您需要维护的CentOS 7版本。不支持或测试归档版本。

    官方推荐的系统是centos7以上,但其实centos6也是可以安装docker的,并没有强制必须是centos7。

    但是我的文章是基于最新的centos7系统,所以对于低版本的centos系统如何安装docker,请自行网上查找资料或者实际操作。

    卸载旧版本

    老版本的Docker被称为docker或docker-engine。如果安装了它们,请卸载它们以及相关的依赖项。

    在Linux命令行执行的命令如下:

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    

    如下图所示,将上面的命令copy一下,并在Linux命令行下面直接回车运行:

    在Centos系统中安装Docker

    如图中所示,最后出现 No Packages marked for removal 的提示信息,说明没有需要删除的资源包了,标明旧版本的docker资源包以及相关依赖包都已经删除掉了。

    安装Docker CE

    Docker CE安装的不同方式

    • 设置Docker的存储库并从中进行安装,以便安装和升级任务。这是推荐的方法。

    • 有些用户下载RPM软件包并手动安装,并完全手动管理升级。这对于在无法访问互联网的系统上安装Docker等情况很有用。

    • 在测试和开发环境中,一些用户选择使用自动便利脚本来安装Docker。

    这里我们就选择第一种方式进行安装,这也是推荐的做法。

    至于其他的安装方式,可自行网上学习,这里不做过多讲解。

    使用存储库进行安装

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

    设置存储库

    • 安装所需的包。 yum-utils提供yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。
    yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
    • 使用以下命令设置稳定的存储库。 即使您想从边缘或测试存储库安装构建,也总是需要稳定的存储库。
    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
    • (可选):启用边缘和测试存储库。 这些存储库包含在上面的docker.repo文件中,但默认情况下处于禁用状态。 您可以将它们与稳定的存储库一起启用。
    yum-config-manager --enable docker-ce-edge
    yum-config-manager --enable docker-ce-test
    
    • (可选):与上一步相反的作用。通过使用--disable标志运行yum-config-manager命令,可以禁用边缘或测试存储库。 要重新启用它,请使用--enable标志。 以下命令禁用边缘存储库。
    yum-config-manager --disable docker-ce-edge
    

    注意:从Docker 17.06开始,稳定版本也被推到边缘测试版本库。

    了解稳定和边缘构建 :https://docs.docker.com/install/

    安装Docker CE

    1. 安装最新版本的Docker CE:
    yum install docker-ce
    

    如果命令行下面出现如下图所示的确认信息,请输入“y”继续,主要是用于处理依赖包的事情:

    在Centos系统中安装Docker

    上一步输入“y”之后,后面可能会遇到下图所示的确认提示信息,同样的输入“y”即可:

    在Centos系统中安装Docker

    稍作等待,当命令行最终输出“Complete!”即表示安装完成:

    在Centos系统中安装Docker

    启动Docker

    systemctl start docker
    

    验证Docker是否安装成功

    最简单的验证方式,就是使用 docker version 命令,类似于JDK的 java -version 一样的道理。

    Docker安装成功的话,就可以直接在命令行运行Docker的命令的。

    docker version
    

    如果出现如下图所示信息,说明Docker以及安装成功了!

    在Centos系统中安装Docker

    【可选】:当然,你也可以通过运行 hello-world 映像来检验Docker是否安装成功:

    docker run hello-world
    

    上面的命令含义:下载官方提供的用于测试使用的hello-world镜像并将其运行到容器中,来检验Docker服务是否正常安装并运行。

    执行上面的命令之后,Docker会自动下载hello-world镜像并自动运行到容器中,当命令行中出现“Hello from Docker!”的字样,说明已经成功运行了hello-world镜像,一切就OK了!

    这里就简单的作为Docker的入门操作,很简单的吧。让你有一个比较直观的感觉~

    在Centos系统中安装Docker

    Docker默认挂载目录

    Docker CE安装成功之后,你可以发现 /var/lib 目录下有一个 docker 目录,你可以进入Docker目录查看Docker的一些结构,如下图所示:

    在Centos系统中安装Docker

    其中有一个containers 目录,这个目录就是存放Docker容器的。上面我们有提及到 hello-world 镜像,如果你运行了 hello-world 镜像,那么这个镜像所生成的容器信息,就会存储在 containers 目录中。

    具体 containers 目录中存放了什么内容,可自行网上查询资料学习。

    配置Docker在系统启动时启动

    未配置Docker在系统启动时启动,则系统重启之后,Docker服务是无法正常访问

    这里是使用我的阿里云服务器作为测试,在阿里云的后台系统中手动重启了服务器,服务器启动完成并正常运行后,在我的本地电脑使用客户端软件连接Linux服务器的时候(可以使用XShell、或者其他终端软件),通过执行 docker version 命令查看Docker服务运行状况,如下图结果:

    在Centos系统中安装Docker

    从图中可以看到,Docker Server 没有正常启动,原因很简单,就是没有设置Docker在服务器重启之后,没有自动启动导致。

    如何解决?

    手动启动Docker服务:

    1、通过在命令行中执行以下命令,即可实现Docker服务的启动:

    systemctl start docker
    

    这时候重新在命令行中执行 docker version命令,效果如下:

    在Centos系统中安装Docker

    出现Server相关的信息,标明Docker服务正常启动了,就可以对Docker进行一系列操作。

    上面这种启动方式存在什么不足呢?

    当服务器重启的时候,Docker服务依然不能自动启动,还是需要手工去启动Docker服务。

    那能不能做到系统重启之后,Docker服务自动启动,答案肯定是有的。

    实现Docker服务随着系统重启后自动启动

    大多数当前的Linux发行版(RHEL,CentOS,Fedora,Ubuntu 16.04和更高版本)使用systemd来管理在系统启动时启动哪些服务。

    通过在命令行执行以下命令,用于设置Docker在系统重启时,自动启动Docker服务

    systemctl enable docker
    

    执行该命令之后,会显示如下结果:

    在Centos系统中安装Docker

    主要的意思就是 设置Docker服务会随着服务器重启,会自动启动Docker服务。

    当然,执行该命令之后,对于当前的Docker服务状况是没有启动服务的,需要手动启动Docker服务;只有下次服务器重启,就无需手动启动Docker服务了。

    官方文档介绍:https://docs.docker.com/install/linux/linux-postinstall/#configure-docker-to-start-on-boot

    注意一点:由于Linux不同版本的系统的差异、或者低版本的系统,命令或许会出现差异。如有遇到这样的问题,请自行网上查找资料解决。

    取消Docker服务随着系统重启后自动启动

    如果你不想让Docker服务随着系统重启之后自动启动的话,你可以通过命令来取消这样的策略:

    systemctl disable docker
    

    执行上面的命令,就可以了。

    官方文档介绍:https://docs.docker.com/install/linux/linux-postinstall/#configure-docker-to-start-on-boot

    卸载Docker CE

    如果需要卸载机器上已经安装的Docker CE,可以通过简单命令实现。

    1. 卸载Docker包:
    yum remove docker-ce
    
    1. 上面的命令,不会自动删除主机上的图像,容器,卷或自定义配置文件。要想删除所有图像,容器和卷,执行以下命令:
    rm -rf /var/lib/docker
    

    注意:必须手动删除任何已编辑的配置文件

    shell一键安装

    curl -fsSL get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    

    这样执行完了就完成安装了,简单便捷

    然后启动docker

    sudo systemctl start docker
    

    完美!鼓掌!!

  • 相关阅读:
    Docker和k8s的区别与介绍
    NFS网络文件系统详解
    NFS文件系统及搭建NFS共享服务
    Tomcat 端口配置,及原理详解
    svn使用教程
    buff/cache内存占用过多
    关于xcode:如何在Objective-C中使用符号断点获取参数
    iOS开发消除编译警告
    建模的能力才是一个人和核心能力
    android sutdio 环境搭建
  • 原文地址:https://www.cnblogs.com/zhaokejin/p/15605205.html
Copyright © 2020-2023  润新知