Featured image of post Linux 安装 Docker 和 Docker Compose 教程

Linux 安装 Docker 和 Docker Compose 教程

详细介绍如何在 Linux 系统上安装 Docker 和 Docker Compose

Linux 安装 Docker 和 Docker Compose

本教程将指导你如何在 Linux 系统上安装 Docker 和 Docker Compose。

系统要求

  • Ubuntu 20.04/22.04/24.04 或 Debian 11/12 或 CentOS 7/8
  • 64位系统
  • 至少 4GB 内存

卸载旧版本

如果系统中已安装旧版本的 Docker,请先卸载:

1
sudo apt-get remove docker docker-engine docker.io containerd runc

安装 Docker

Docker 提供了三种安装方式:

  1. 使用便携安装脚本(推荐个人开发环境使用)
  2. 使用软件源安装(推荐生产环境使用)
  3. 手动下载安装包安装

方式一:使用便携安装脚本(简单快捷)

这是最简单的安装方式,特别适合个人开发环境。便携脚本是 Docker 官方提供的跨 Linux 发行版通用安装脚本,支持包括 Ubuntu、Debian、CentOS 等主流 Linux 发行版:

1
2
3
4
5
6
7
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh

# 如需使用代理,请使用以下命令
curl -v -x http://你的代理服务器地址:端口 -fsSL https://get.docker.com -o get-docker.sh
# 执行安装
sudo sh get-docker.sh

高级用法

  1. 预览安装步骤(不实际安装):
1
sudo sh ./get-docker.sh --dry-run
  1. 安装测试版本(如果需要尝试最新特性):
1
2
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
  1. 使用国内镜像源安装(加快安装速度):
1
curl -fsSL https://get.docker.com | sudo sh -s -- --mirror Aliyun

优点

  • 安装过程完全自动化,无需手动配置
  • 自动检测系统版本并安装合适的版本
  • 跨发行版通用,支持所有主流 Linux 发行版
  • 一键安装所有必需组件
  • 适合快速搭建开发环境
  • 支持自动选择最近的镜像源

注意事项

  • 不建议在生产环境使用此方式
  • 脚本会自动安装最新版本,可能导致意外的版本升级
  • 安装时会自动安装推荐的依赖包,可能会安装较多额外包
  • 不支持自定义安装参数
  • 需要 root 或 sudo 权限
  • 不适合用于已有 Docker 安装的升级
  • 建议在安装前使用 –dry-run 选项预览安装步骤

支持的系统

  • Ubuntu 18.04+
  • Debian 10+
  • CentOS 7+
  • Fedora 30+
  • 以及其他主流 Linux 发行版

方式二:使用软件源安装(推荐生产环境)

Ubuntu/Debian 系统

  1. 更新软件包并安装必要的依赖:
1
2
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
  1. 添加 Docker 官方 GPG 密钥:
1
2
3
sudo install -m 0755 -d /etc/apt/keyrings
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.gpg
  1. 添加 Docker 软件源:
1
2
3
4
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装 Docker 和 Docker Compose 插件:
1
2
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

方式三:CentOS 系统

  1. 安装必要的依赖:
1
sudo yum install -y yum-utils
  1. 添加 Docker 软件源:
1
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 Docker 和 Docker Compose 插件:
1
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 启动 Docker:
1
2
sudo systemctl start docker
sudo systemctl enable docker

验证安装

  1. 验证 Docker 安装:
1
sudo docker run hello-world
  1. 验证 Docker Compose 安装:
1
docker compose version

如果能看到版本信息,说明安装成功。

配置非 root 用户使用 Docker

将当前用户添加到 docker 用户组:

1
sudo usermod -aG docker $USER

注意:添加用户组后需要重新登录才能生效

常见问题

1. 如果遇到权限问题:

1
2
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R

2. 如果无法访问 Docker Hub,可以配置国内镜像源。

3. WSL 环境下的网络问题

如果在 WSL 环境中遇到网络访问问题,可以通过设置系统代理来解决:

1
2
3
4
# 将 port 替换为你的实际代理端口
echo 'export http_proxy="http://host.docker.internal:port"' >> ~/.bashrc
echo 'export https_proxy="http://host.docker.internal:port"' >> ~/.bashrc
source ~/.bashrc

提示:host.docker.internal 是 Docker 提供的特殊域名,指向 Windows 宿主机。如果访问失败,可以使用实际的 IP 地址替代。

验证代理设置是否生效

1
curl -v https://www.google.com

卸载

如需卸载 Docker,根据安装方式选择对应的卸载方法:

便携脚本安装的卸载方式

1
2
3
4
5
# 卸载 Docker 包
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除数据目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

软件源安装的卸载方式

1
2
3
4
5
6
7
8
9
# Ubuntu/Debian
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# CentOS
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

参考链接

使用绝夜之城强力驱动