因为项目中需要使用到Docker,于是经过一番摸索,完成了Docker的安装,写下此篇博客来记录一下:
Docker的旧版本称为Docker或Docker -engine。如果安装了这些组件,请卸载它们以及相关的依赖项。(如果未安装过Docker,则可直接跳过该步骤)
$ 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
如果yum报告这些包都没有安装,则没有问题。
在新主机上首次安装Docker CE之前,需要设置Docker存储库。 之后,你可以从存储库安装和更新Docker。
设置存储库
1 . 安装所需的包: yum-utils提供yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。
$ 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. 可选:启用边缘和测试存储库。 这些存储库包含在上面的docker.repo文件中,但默认情况下处于禁用状态。 你可以将它们与稳定存储库一起启用。
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
你可以通过使用--disable标志运行yum-config-manager命令来禁用边缘或测试存储库。 要重新启用它,请使用--enable标志。 以下命令禁用边缘存储库。
$ sudo yum-config-manager --disable docker-ce-edge
1. 安装最新版本的Docker CE
$ sudo yum install docker-ce
如果启用了多个Docker存储库,在yum安装或yum update命令中不指定版本的情况下安装或更新,这可能不适合你的稳定性需求。
2. 安装指定版本的Docker CE
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.09.0.ce-1.el7.centos docker-ce-stable
返回的列表取决于启用的存储库,并且特定于你的CentOS版本(在此示例中以.el7后缀表示)。
$ sudo yum install docker-ce-
3. 启动Docker
$ sudo systemctl start docker
4. 通过运行hello-world映像验证是否正确安装了docker。
$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。 当容器运行时,它会打印一条信息性消息并退出。
要升级Docker CE,请按照安装说明选择要安装的新版本。
如果你无法使用Docker的存储库来安装Docker,则可以下载适用于你的发行版的.rpm文件并手动安装。 每次要升级Docker时都需要下载新文件。
1. 转到>Docker版本库<并下载要安装的Docker版本的.rpm文件。
注意:要安装边缘包,请将上述URL中的单词stable更改为edge。 了解稳定和边缘渠道。
2. 安装Docker CE,将下面的路径更改为您下载Docker软件包的路径。
$ sudo yum install /path/to/package.rpm
3. 启动Docker
$ sudo systemctl start docker
4. 通过运行hello-world映像验证是否正确安装了docker。
$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。 当容器运行时,它会打印一条信息性消息并退出。
要升级Docker CE,请下载较新的软件包文件并重复安装过程,使用yum -y upgrade而不是yum -y install,并指向新文件。
Docker在get.docker.com和test.docker.com上提供了方便的脚本,可以快速且非交互式地将Docker CE的edge和测试版本安装到开发环境中。脚本的源代码位于docker-install存储库中。不建议在生产环境中使用这些脚本,你应该在使用它们之前了解潜在的风险。
1. 脚本需要root或sudo权限才能运行。 因此,在运行脚本之前,应仔细检查和审核脚本。
2. 这些脚本会尝试检测你的Linux发行版和版本,并为您配置包管理系统。 此外,脚本不允许你自定义任何安装参数。 从Docker的角度或你自己组织的指导方针和标准来看,这可能会导致配置不受支持。
3. 脚本安装包管理器的所有依赖项和建议,而不要求确认。 这可能会安装大量软件包,具体取决于主机的当前配置。
4. 该脚本不提供选项来指定要安装的Docker版本,并安装在“边缘”通道中发布的最新版本。
5. 如果已使用其他机制在主机上安装了Docker,请不要使用便捷脚本。
这个例子使用get.docker.com上的脚本在Linux上安装Docker CE的最新版本。要安装最新的测试版本,请使用test.docker.com。在下面的每个命令中,用test替换get的每个出现。
警告:在本地运行脚本之前,请始终检查从internet上下载的脚本。
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
如果您想将Docker用作非根用户,那么现在应该考虑将您的用户添加到Docker组中,方法如下:(请记得注销并重新登录才能生效)
sudo usermod -aG docker your-user
警告:将用户添加到“docker”组会授予他们运行容器的能力,这些容器可用于获取Docker主机上的root权限。 有关更多信息,请参阅Docker守护程序攻击面。
Docker CE已安装。 它在基于DEB的发行版上自动启动。 在基于RPM的分发中,你需要使用适当的systemctl或service命令手动启动它。 如消息所示,非root用户默认情况下无法运行Docker命令。
如果你使用便捷脚本安装了Docker,则应直接使用软件包管理器升级Docker。 重新运行便捷脚本没有任何好处,如果它尝试重新添加已添加到主机的存储库,则可能会导致问题。
1. 卸载Docker CE 包
$ sudo yum remove docker-ce
2. 主机上的图像,容器,卷或自定义配置文件不会自动删除。 要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
您必须手动删除任何已编辑的配置文件。