Docker 已成为现代软件开发和部署的基石。无论使用的是 Red Hat Enterprise Linux (RHEL)、CentOS、Ubuntu 还是 Debian,本教程都将遵循 Docker 官方推荐的方法,指导如何在主流 Linux 系统上一步步成功安装 Docker Community Edition (Docker-CE)。
前提条件
*\t一台正在运行受支持的 Linux 发行版服务器。 *\t一个拥有 sudo 权限的用户账户。 *\t服务器可以连接到互联网。
第一步:卸载旧版本
在开始之前,最好先卸载任何可能存在的、与 Docker 相关的旧版本软件包,以避免潜在的冲突。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine # 适用于 RHEL/CentOS
sudo apt-get remove docker docker-engine docker.io containerd runc # 适用于 Debian/Ubuntu即使不确定是否安装过,运行相应的命令也是安全的。
第二步:根据 Linux 发行版设置 Docker 仓库
这是整个安装过程中最关键的一步。需要告知系统的包管理器去哪里下载 Docker-CE。
对于 RHEL / CentOS 系统
安装
yum-utils: 这个软件包提供了一个名为yum-config-manager的工具,可以方便地添加新的软件仓库。sudo yum install -y yum-utils添加 Docker 官方仓库 : 使用
yum-config-manager添加 Docker 的稳定版仓库。注意:虽然 URL 中包含centos,但这正是 Docker 官方为 RHEL 和其他基于 RPM 的发行版提供的正确仓库。sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
更新
apt包索引并安装依赖 :sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release添加 Docker 的官方 GPG 密钥 :
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg设置 Docker 仓库 : 此命令会设置稳定版的仓库。
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
现在,仓库已经配置好了,可以直接使用系统的包管理器来安装 Docker Engine 了。
对于 RHEL / CentOS 系统
该命令会安装 Docker 引擎本身、命令行工具以及所有必要的依赖。
sudo yum install -y docker-ce docker-ce-cli containerd.io对于 Debian / Ubuntu 系统更新
apt包索引 :sudo apt-get update安装 Docker-CE :
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
安装完成后,可以通过运行 docker --version 来验证 Docker 是否已成功安装到系统中。
第四步:启动并启用 Docker 服务
Docker 安装后并不会自动运行,需要手动启动它,并将其设置为开机自启。这一步对于所有使用 systemd 的现代 Linux 发行版(包括 RHEL, CentOS, Ubuntu, Debian)都是相同的。
启动 Docker 服务 :
sudo systemctl start docker设置 Docker 开机自启 :
sudo systemctl enable docker检查 Docker 服务状态 :
sudo systemctl status docker如果看到
Active: active (running)的绿色字样,说明 Docker 服务已经成功运行起来了。
默认情况下,只有 root 用户和 docker 用户组的成员才能运行 Docker 命令。为了避免每次都输入 sudo,推荐将当前用户添加到 docker 用户组。
创建
docker用户组 (通常在安装时已自动创建,但运行一下无妨):sudo groupadd docker将当前用户添加到
docker组 :$USER是一个环境变量,它会自动替换为当前用户名。sudo usermod -aG docker $USER激活用户组变更 :这一步至关重要! 为了让用户组的变更生效,必须退出当前的 SSH 会话,然后重新登录,或者运行
newgrp docker来立即应用新的组成员身份。
重新登录服务器后,现在即可作为一个普通用户来运行 Docker 命令,验证一切是否正常。
运行经典的 hello-world 镜像:
docker run hello-world如果看到类似下面的输出,即表示 Docker 已在该 Linux 系统上成功安装并运行。
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
... (省略拉取过程)
Digest: sha256:...
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...常见问题排查网络问题 :如果服务器需要通过代理访问互联网,请确保为 Docker 配置了代理。这通常通过创建
~/.docker/config.json文件或设置HTTP_PROXY等环境变量来完成。防火墙 :系统防火墙(如
firewalld或ufw)可能会阻止容器的网络访问。Docker 会自动管理一些网络规则,但如果存在非常严格的防火墙策略,可能需要手动允许 Docker 相关的流量。
遵循本指南,即可在 Linux 系统上成功安装现代化的容器引擎 Docker-CE。现在,可以开始探索容器化的世界,部署应用,享受 Docker 带来的便利和高效。
热门跟贴