在当今的 IT 基础设施领域,容器化技术已经成为部署和管理应用程序的标准实践,Docker 作为容器化技术的先驱和领导者,以其轻量、高效和可移植的特性,极大地简化了开发与运维流程,CentOS 7,作为一个稳定且广泛使用的企业级 Linux 发行版,是运行 Docker 服务的理想平台,本文将详细介绍如何在 CentOS 7 系统上安装、配置和使用 Docker Community Edition (CE),为读者提供一份清晰、完整的操作指南。
准备工作
在开始安装 Docker CE 之前,确保系统满足基本要求并完成必要的清理工作,这是保证安装过程顺利无误的关键。
系统要求
您需要一台运行 CentOS 7 的服务器或虚拟机,系统版本建议为 7.x 或更高,您需要一个具有 sudo
权限的非 root 用户账户,以确保操作的安全性,稳定的网络连接也是必需的,因为安装过程需要从官方仓库下载软件包。
卸载旧版本
如果您的系统中曾经安装过 Docker 的旧版本(如 docker
或 docker-engine
),为了避免潜在的冲突,必须先将其彻底卸载,可以使用以下命令检查并移除这些旧包:
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
执行此命令后,/var/lib/docker/
目录中的镜像、容器、卷和网络等会被保留,但如果不需要,可以手动删除该目录。
安装必要的系统工具
Docker CE 需要 yum-utils
来提供 yum-config-manager
工具,同时依赖 device-mapper-persistent-data
和 lvm2
来提供 devicemapper
存储驱动,使用以下命令安装这些依赖:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
安装 Docker CE
完成准备工作后,我们就可以正式开始安装 Docker CE,推荐的方式是设置 Docker 的官方仓库,这样可以方便地进行安装和后续的版本更新。
步骤 1:设置 Docker 仓库
执行以下命令,添加 Docker CE 的官方稳定版仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
此命令会在 /etc/yum.repos.d/
目录下创建一个名为 docker-ce.repo
的文件,其中包含了仓库的配置信息。
步骤 2:安装 Docker CE
仓库添加成功后,就可以使用 yum
命令安装 Docker CE 了,执行以下命令,安装最新版本的 Docker CE、命令行界面和容器运行时:
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce
:Docker CE 引擎本身。docker-ce-cli
:用于与 Docker 守护进程交互的命令行工具。containerd.io
:容器运行时,负责管理容器的生命周期。
步骤 3:启动 Docker 服务
安装完成后,Docker 服务并不会自动启动,我们需要使用 systemd
来启动它,并设置为开机自启:
sudo systemctl start docker sudo systemctl enable docker
步骤 4:验证安装
为了确认 Docker CE 是否已成功安装并正常运行,可以执行一个简单的测试命令:
sudo docker run hello-world
如果一切正常,您将看到一段来自 Docker 的欢迎信息,这个命令的执行过程是:Docker 客户端连接到守护进程,守护进程在本地找不到 hello-world
镜像,于是从 Docker Hub 拉取该镜像,然后创建并运行一个容器,容器运行结束后输出信息并退出,这证明了从拉取镜像到运行容器的整个流程都是通畅的。
配置与优化
为了让 Docker 的使用更加便捷和高效,我们还需要进行一些基础配置。
将用户添加到 docker 组
默认情况下,只有 root
用户和 docker
组的成员才能执行 docker
命令,为了避免每次使用 docker
都需要输入 sudo
,可以将当前用户添加到 docker
组:
sudo usermod -aG docker $USER
执行此命令后,需要注销并重新登录,或者使用 newgrp docker
命令刷新用户组权限,才能使更改生效。
配置镜像加速器
对于国内用户而言,从 Docker Hub 默认的中央仓库拉取镜像可能会比较慢,配置一个国内的镜像加速器可以显著提升下载速度,可以配置阿里云、网易云等提供的镜像加速服务。
编辑 /etc/docker/daemon.json
文件(如果不存在则创建),并添加以下内容:
{ "registry-mirrors": ["https://your-mirror-address.mirror.aliyuncs.com"] }
请将 https://your-mirror-address.mirror.aliyuncs.com
替换为您获取到的真实镜像加速器地址,保存文件后,重启 Docker 服务使配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker
Docker 基础命令一览
掌握一些基础命令是使用 Docker 的前提,下表列出了一些最常用的命令:
命令 | 功能描述 |
---|---|
docker ps | 查看当前正在运行的容器 |
docker ps -a | 查看所有容器(包括已停止的) |
docker images | 查看本地已有的镜像 |
docker pull <image_name> | 从仓库拉取指定的镜像 |
docker run <image_name> | 基于指定镜像创建并启动一个新容器 |
docker stop <container_id> | 停止一个正在运行的容器 |
docker rm <container_id> | 删除一个已停止的容器 |
docker rmi <image_id> | 删除一个本地镜像 |
相关问答FAQs
解答: 这个错误出现的原因是当前用户没有权限访问 Docker 守护进程的 Unix socket(通常位于 /var/run/docker.sock
),默认情况下,只有 root
用户和 docker
组的用户才有此权限,您有两种解决方法:一是在每个 docker
命令前加上 sudo
,但这比较繁琐;二是将您的用户账户添加到 docker
用户组中,如上文所述,使用 sudo usermod -aG docker $USER
命令,然后重新登录即可。
问题 2:如何将已安装的 Docker CE 更新到最新版本?
解答: 由于我们是通过官方 YUM 仓库安装的 Docker CE,因此更新过程非常简单,只需执行以下命令即可:
sudo yum update docker-ce
系统会自动检查仓库中的最新版本,并下载安装,更新完成后,建议重启 Docker 服务以确保所有新组件都正常加载:
sudo systemctl restart docker
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复