在 Linux 服务器上安装并使用 Docker
Docker 是一个开源的容器化平台,它让开发者能把应用程序及其全部依赖(代码、运行时、库、配置、环境变量)打包进一个轻量、可移植的“容器”中。本文将介绍如何在新购买的 Linux 服务器上安装 Docker,构建并启动一个 Docker 镜像进行测试。
为什么使用 Docker?
时至今日,Docker 已经彻底改变了软件构建、交付和运行的方式。我们在一次活动调查发现,有超过 78% 的专业开发者日常使用 Docker,这意味着 Docker 不再是 IT 项目的“高级可选”,而是“基础必备”工具。
Docker 的核心是操作系统级虚拟化,通过轻量级的“容器”打包应用及其依赖环境,解决了“在我机器上能跑”的经典难题。
简单来说,Docker 具有以下三大核心价值:
- 环境一致性 & 隔离
- 开发、测试、生产环境高度统一(“Build once, Run anywhere”)。
- 容器间资源(CPU、内存、网络、 磁盘)相互隔离,避免冲突。
- 极致的轻量与高效
- 与笨重的虚拟机(VM)不同,容器共享主机操作系统内核,无需模拟硬件。
- 秒级启动,资源消耗极低,显著提升服务器利用率和应用密度。
- 标准化交付
- 以 Docker 镜像为交付单元,包含了运行应用所需的一切(代码、运行时、库、环境变量、配置)。
- 镜像分层构建与复用,优化存储与传输效率。
也因为这些价值,Docker 已成为现代开发运维(DevOps)的事实标准,广泛应用于以下场景。
- Web 应用部署:前端(React/Vue)、后端(Node.js/Python/Go)、数据库(PostgreSQL/Redis)均可容器化。
- 微服务架构:每个服务独立打包、独立伸缩,通过 API 通信。
- 持续集成 & 测试:在干净容器中运行测试,避免“依赖污染”。
- 本地开发环境搭建:
docker-compose up一键启动全套服务(数据库 + 缓存 + API),告别“配置一下午”。 - 边缘计算 & IoT:在资源受限设备上轻量运行标准化应用。
安装 Docker(社区版)
我们最近购买了一台 Ubuntu 24.04 系统的阿里云服务器,下面将在这台服务器上进行安装、测试。
温馨提示
如果你的服务器已经安装过 Docker,那么在安装新版 Docker 之前,需要先卸载所有已安装的 Docker 组件,以免出现潜在的冲突和兼容性问题。
# 删除 Docker 相关源
sudo rm -f /etc/apt/sources.list.d/*docker*.list
# 卸载 Docker 和相关的软件包
for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
注意:卸载 Docker 不会自动移除镜像、容器、存储卷和网络,这些数据默认存储在 /var/lib/docker/ 目录。
我们安装的是 Docker 社区版本,安装命令如下:
# 更新包管理工具
sudo apt-get update
# 安装必要依赖工具
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 添加 Docker 软件包源
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 安装 Docker 社区版本,容器运行时 containerd.io,以及 Docker 构建和 Compose 插件
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
如果命令执行顺利的话,Docker 已经安装好了。你可以执行 sudo docker --version 命令验证安装情况。
$ sudo docker --version
Docker version 29.1.3, build f52814d