zoukankan      html  css  js  c++  java
  • CentOS 7 安装 Docker

    前言

    首先确保你的CentOS版本为7.x 。centos-extras存储库必须启用。 默认情况下启用此存储库,但如果已禁用该存储库,则需要重新启用该存储库。Docker分为企业版和社区版,企业版是收费的,本文讨论的是安装社区版。

    卸载旧版本

    Docker的旧版本被称为dockerdocker-engine。 如果安装了这些,请卸载它们以及关联的依赖关系。

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

    安装Docker CE(CE代表社区版)

    您可以根据需要以不同的方式安装Docker CE:

    • 大多数用户设置了Docker的存储库并从中安装,以方便安装和升级任务。 这是推荐的方法。

    • 某些用户下载RPM软件包并手动安装并手动管理升级。 这在诸如在没有访问互联网的空隙系统上安装Docker的情况下是有用的。

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

    使用存储库进行安装

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

    安装存储库

    1. 安装必须的包。yum-utils提供了yum-config-manager实用程序,并且device-mapper-persistent-datalvm2需要devicemapper存储驱动程序。
    sudo yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2
    

    2.使用以下命令设置稳定存储库。 您始终需要稳定的存储库,即使您也想从边缘或测试存储库安装构建。

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

    3.可选:启用test和edge。 这些存储库包含在上面的docker.repo文件中,但默认情况下禁用。 您可以将它们与稳定版本库一起启用。

    sudo yum-config-manager --enable docker-ce-edge
    
    sudo yum-config-manager --enable docker-ce-test
    

    您可以通过运行带有--disable标志的yum-config-manager命令来禁用edge或test库。 要重新启用它,请使用--enable标志。 以下命令禁用edge存储库。

    sudo yum-config-manager --disable docker-ce-edge
    

    从Docker 17.06开始,稳定的版本也被推到了edge和test存储库

    安装 DOCKER CE

    1.安装最新版本的Docker CE,或转到下一步安装特定版本。

    sudo yum install docker-ce
    

    警告:如果启用了多个Docker存储库,则在yum installyum update命令中不安装或更新版本将始终安装尽可能高的版本,这可能不适合您的稳定性需求。

    如果这是您第一次从最近添加的存储库安装软件包,系统将提示您接受GPG密钥,并显示密钥的指纹。 验证指纹是否正确,如果是,请接受密钥。 指纹应该匹配

    060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
    

    Docker已安装但未启动。 Docker组已创建,但没有用户添加到组中。

    2.在生产系统上,您应该安装特定版本的Docker CE,而不是始终使用最新版本。 列出可用的版本。 此示例使用排序-r命令对结果进行排序,版本号由最高到最低,并被截断。

    yum list docker-ce --showduplicates | sort -r
    
    docker-ce.x86_64            17.09.ce-1.el7.centos             docker-ce-stable
    

    列表的内容取决于启用哪些存储库,并且将特定于您的CentOS版本(在本示例中由版本的.el7后缀表示)。 选择要安装的特定版本。 第二列是版本字符串。 您可以使用整个版本字符串,但您至少需要包含第一个连字符。 第三列是存储库名称,它指示软件包的存储库以及其稳定性级别。 要安装特定版本,请将版本字符串附加到包名称,并用连字符( - )分隔。

    版本字符串是包名称加上直到第一个连字符的版本。 在上面的示例中,完全限定的包名称是docker-ce-17.09.ce

    sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
    

    3.启动Docker

    sudo systemctl start docker
    

    4.通过运行hello-world镜像来验证Docker是否正确安装。

    sudo docker run hello-world
    

    此命令下载hello-world镜像并在容器中运行它。 当容器运行时,它打印一条信息消息并退出。

    Docker CE已安装并运行。 您需要使用sudo来运行Docker命令。 继续执行Linux安装后,允许非特权用户运行Docker命令和其他可选配置步骤。

    升级DOCKER CE

    要升级Docker CE,请按照安装说明进行操作,选择要安装的新版本。

    从包装中安装

    如果您不能使用Docker的存储库来安装Docker,则可以下载您的版本的.rpm文件并手动安装。 每次要升级Docker时,都需要下载一个新文件。

    1访问https://download.docker.com/linux/centos/7/x86_64/stable/Packages/并下载要安装的Docker版本的.rpm文件。

    要安装edge包,请将上述URL中的stable更改为edge。

    2.安装Docker CE,将下面的路径更改为您下载Docker程序包的路径。

    sudo yum install /path/to/package.rpm
    

    Docker已安装但未启动。 Docker组已创建,但没有用户添加到组中。

    3.启动Docker

    sudo systemctl start docker
    

    4.通过运行hello-world镜像来验证Docker是否正确安装。

    sudo docker run hello-world
    

    此命令下载hello-world镜像像并在容器中运行它。 当容器运行时,它打印一条信息消息并退出。

    Docker CE已安装并运行。 您需要使用sudo来运行Docker命令。 继续执行Linux的安装后步骤,以允许非特权用户运行Docker命令和其他可选配置步骤。

    升级Docker

    要升级Docker CE,请下载较新的软件包文件并重复安装过程,使用yum -y升级而不是yum -y install,并指向新文件。

    使用便利脚本进行安装

    Docker在get.docker.com和test.docker.com上提供了方便的脚本,用于将Docker CE的稳定和测试版本,快速、非交互式安装到开发环境中。 脚本的源代码位于docker-install存储库中。 不建议在生产环境中使用这些脚本,您应该在使用这些脚本之前了解潜在的风险:

    • 脚本需要root或sudo权限才能运行。 因此,在运行脚本之前,应仔细检查和审核脚本。
    • 这些脚本尝试检测您的Linux发行版和版本,并为您配置您的软件包管理系统。 此外,脚本不允许您自定义任何安装参数。 这可能导致不受支持的配置,无论是从Docker的角度还是从您自己的组织的准则和标准。
    • 脚本安装包管理器的所有依赖关系和建议,而不要求确认。 这可能会安装大量的软件包,具体取决于您的主机的当前配置。
    • 如果Docker已经使用其他机制安装在主机上,则不要使用便利脚本。

    此示例使用get.docker.com上的脚本在Linux上安装最新的Docker CE版本。 要安装最新的测试版本,请改用test.docker.com。 在下面的每个命令中,将每次出现的gettest进行替换。

    警告:在本地运行之前,始终检查从互联网下载的脚本。

     curl -fsSL get.docker.com -o get-docker.sh
     sudo sh get-docker.sh
    
    <output truncated>
    
    If you would like to use Docker as a non-root user, you should now consider
    adding your user to the "docker" group with something like:
    
      sudo usermod -aG docker your-user
    
    Remember that you will have to log out and back in for this to take effect!
    
    WARNING: Adding a user to the "docker" group will grant the ability to run
             containers which can be used to obtain root privileges on the
             docker host.
             Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
             for more information.
    

    Docker CE已安装。 它在基于DEB的发行版上自动启动。 在基于RPM的发行版中,您需要使用适当的systemctlservice命令手动启动它。 消息显示,非root用户默认情况下无法运行Docker命令。

    使用方便脚本后升级

    如果您使用便捷脚本安装Docker,则应直接使用您的程序包管理器升级Docker。 重新运行方便脚本没有任何好处,如果尝试重新添加已经添加到主机的存储库,可能会导致问题。

    卸载 Docker CE

    1.卸载Docker包

    sudo yum remove docker-ce
    

    2.主机上的mages, containers, volumes或自定义配置文件不会自动删除。 删除所有mages, containers, volumes:

    sudo rm -rf /var/lib/docker
    

    您必须手动删除任何定义配置文件。

  • 相关阅读:
    apue 第19章 伪终端
    apue 第18章 终端I/O
    linux IPC socket(2)
    linux IPC socket
    linux POSIX信号量
    【Luogu】【关卡2-16】线性动态规划(2017年10月)【还差三道题】
    【Luogu】【关卡2-15】动态规划的背包问题(2017年10月)【还差一道题】
    【Luogu】【关卡2-14】 树形数据结构(2017年10月)【AK】
    【Luogu】【关卡2-13】线性数据结构(2017年10月)【还差一道题】
    【Luogu】【关卡2-12】递推与递归二分(2017年10月)
  • 原文地址:https://www.cnblogs.com/stulzq/p/7743073.html
Copyright © 2011-2022 走看看