在Fedora\Ubuntu中安装Docker和Docker Compose
- Linux
- 2025-10-21
- 22热度
- 0评论
文章目录
- Fedora中安装Docker
- Ubuntu中安装Docker
如何在Fedora中安装Docker
一、安装Docker Engine
推荐通过Docker官方仓库安装(确保版本最新且官方维护)。
1. 卸载旧版本(如有)
若系统中存在旧版Docker相关组件,先卸载避免冲突:
sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine2. 安装依赖工具
安装添加仓库和验证包所需的依赖:
sudo dnf install -y ca-certificates curl gnupg2 lsb-release3. 添加Docker官方GPG密钥
导入Docker官方GPG密钥以验证包的完整性:
# 下载 Docker GPG 密钥
curl -fsSL https://download.docker.com/linux/fedora/gpg -o docker-gpg.key
# 导入下载好的密钥文件
sudo rpm --import docker-gpg.key4. 添加Docker YUM仓库
将Docker官方仓库添加到Fedora的dnf源中:
# 添加 Docker 仓库
echo "[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://download.docker.com/linux/fedora/\$releasever/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/fedora/gpg" | sudo tee /etc/yum.repos.d/docker-ce.repo > /dev/null5. 安装Docker Engine
更新仓库索引后,安装Docker核心组件:
sudo dnf update -y
sudo dnf install -y docker-ce docker-ce-cli containerd.io6. 启动Docker服务并验证
启动Docker服务并设置开机自启:
# 启动Docker服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
验证Docker是否正常运行(运行测试镜像):
sudo docker run hello-world
若输出“Hello from Docker!”,说明Docker安装成功。二、安装Docker Compose
Docker Compose v2已作为Docker官方插件集成,可直接通过dnf安装:
sudo dnf install -y docker-compose-plugin
验证安装:
docker compose version
输出类似Docker Compose version v2.x.x即表示安装成功。三、允许非root用户使用Docker
默认情况下,docker命令需要root权限(因Docker守护进程绑定到Unix socket,默认归root和docker组所有)。通过将用户加入docker组,可让非root用户直接使用docker命令。
1. 确保docker用户组存在
安装Docker时会自动创建docker组,若不存在可手动创建:
sudo groupadd docker # 若已存在会提示“group 'docker' already exists”,忽略即可2. 将非root用户添加到docker组
假设目标用户为your_username(替换为实际用户名),执行:
sudo usermod -aG docker your_username
-aG:-a表示“追加”(不覆盖原有组),-G指定要加入的组。3. 生效用户组配置
用户组变更需重新登录才能生效(注销当前会话后重新登录),或临时生效(无需注销):
newgrp docker4. 验证非root权限
重新登录后,执行以下命令(无需sudo):
docker run hello-world若成功运行,说明非root用户已可正常使用Docker。
Fedora中的注意事项
- Fedora默认启用SELinux,若Docker运行中出现权限相关错误(如挂载目录失败),可临时关闭SELinux测试(
sudo setenforce 0),或配置SELinux策略允许Docker访问(推荐长期方案,具体可参考Docker官方文档)。 - 添加用户到
docker组后,该用户拥有类似root的系统资源操作权限,需确保用户可信。 - 若权限问题持续,可重启Docker服务:
sudo systemctl restart docker。
在Ubuntu系统中安装Docker、Docker Compose并配置非root用户权限,可按以下步骤操作:
如何在Ubuntu中安装Docker
一、安装Docker Engine
推荐通过Docker官方仓库安装(确保版本最新且官方维护)。
1. 准备依赖工具
首先更新系统包索引,并安装必要的依赖(用于添加Docker仓库和验证包完整性):
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release2. 添加Docker官方GPG密钥
为确保下载的Docker包是官方发布的,需添加其GPG密钥:
# 创建密钥存储目录
sudo install -m 0755 -d /etc/apt/keyrings
# 下载并添加Docker GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置密钥文件权限
sudo chmod a+r /etc/apt/keyrings/docker.gpg3. 添加Docker APT仓库
将Docker官方仓库添加到系统的APT源列表中:
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/null4. 安装Docker Engine
更新包索引后,安装Docker核心组件(包括Docker引擎、CLI和容器运行时):
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io5. 验证Docker安装并启动服务
启动Docker服务并设置开机自启:
# 启动Docker服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
验证Docker是否正常运行(运行一个测试镜像):
sudo docker run hello-world如果输出类似“Hello from Docker!”的信息,说明Docker安装成功。
二、安装Docker Compose
Docker Compose目前已作为Docker的官方插件集成,可直接通过APT安装:
sudo apt install -y docker-compose-plugin
验证安装:
docker compose version
输出类似Docker Compose version v2.x.x即表示安装成功。三、允许非root用户使用Docker
默认情况下,docker命令需要root权限(因Docker守护进程绑定到Unix socket,默认归root所有)。通过将用户加入docker用户组,可让非root用户直接使用docker命令。
1. 确保docker用户组存在
安装Docker时会自动创建docker用户组,若不存在可手动创建:
sudo groupadd docker # 若已存在会提示“group 'docker' already exists”,忽略即可2. 将非root用户添加到docker组
假设目标用户为your_username(替换为实际用户名),执行:
sudo usermod -aG docker your_username
-aG:-a表示“追加”(不覆盖原有组),-G指定要加入的组。3. 生效用户组配置
用户组变更需重新登录才能生效(注销当前会话后重新登录),或临时生效(无需注销):
newgrp docker4. 验证非root权限
重新登录后,执行以下命令(无需sudo):
docker run hello-world若成功运行,说明非root用户已可正常使用Docker。
Ubuntu中的注意事项
- 添加用户到
docker组后,该用户拥有类似root的权限(可操作系统级资源),需确保用户可信。 - 若后续使用中仍提示权限不足,检查用户是否已重新登录,或重启Docker服务:
sudo systemctl restart docker。