前言
首先确保你的CentOS版本为7.x 。centos-extras
存储库必须启用。 默认情况下启用此存储库,但如果已禁用该存储库,则需要重新启用该存储库。Docker分为企业版和社区版,企业版是收费的,本文讨论的是安装社区版。
卸载旧版本
Docker的旧版本被称为docker
或docker-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。
安装存储库
- 安装必须的包。
yum-utils
提供了yum-config-manager
实用程序,并且device-mapper-persistent-data
和lvm2
需要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-edgesudo 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 install
或yum update
命令中不安装或更新版本将始终安装尽可能高的版本,这可能不适合您的稳定性需求。
如果这是您第一次从最近添加的存储库安装软件包,系统将提示您接受GPG密钥,并显示密钥的指纹。 验证指纹是否正确,如果是,请接受密钥。 指纹应该匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Docker已安装但未启动。 Docker组已创建,但没有用户添加到组中。
2.在生产系统上,您应该安装特定版本的Docker CE,而不是始终使用最新版本。 列出可用的版本。 此示例使用排序-r
命令对结果进行排序,版本号由最高到最低,并被截断。
yum list docker-ce --showduplicates | sort -rdocker-ce.x86_64 17.09.ce-1.el7.centos docker-ce-stable
列表的内容取决于启用哪些存储库,并且将特定于您的CentOS版本(在本示例中由版本的.el7后缀表示)。 选择要安装的特定版本。 第二列是版本字符串。 您可以使用整个版本字符串,但您至少需要包含第一个连字符。 第三列是存储库名称,它指示软件包的存储库以及其稳定性级别。 要安装特定版本,请将版本字符串附加到包名称,并用连字符( - )分隔。
版本字符串是包名称加上直到第一个连字符的版本。 在上面的示例中,完全限定的包名称是
docker-ce-17.09.ce
。
sudo yum install
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
。 在下面的每个命令中,将每次出现的get
与test
进行替换。
警告:在本地运行之前,始终检查从互联网下载的脚本。
curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh
Docker CE已安装。 它在基于DEB的发行版上自动启动。 在基于RPM的发行版中,您需要使用适当的systemctl
或service
命令手动启动它。 消息显示,非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
您必须手动删除任何定义配置文件。