Loading

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

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

posted @ 2017-10-27 14:49  晓晨Master  阅读(18094)  评论(1编辑  收藏  举报