在虚拟机Ubuntu系统中安装Docker,需先更新系统包列表(sudo apt update),安装必要依赖如ca-certificates、curl等,随后添加Docker官方GPG密钥和仓库,通过apt install docker-ce docker-ce-cli containerd.io安装Docker引擎,安装后启动并启用Docker服务(sudo systemctl start docker,sudo systemctl enable docker),最后运行docker --version验证安装成功,整个过程需确保系统为Ubuntu 20.04/22.04 LTS,并配置正确的网络访问权限。
Docker作为当前最流行的容器化技术,通过将应用及其依赖打包到轻量级容器中,实现了“构建一次,处处运行”的高效部署,Ubuntu作为Linux发行版中的主流选择,常被用作开发和学习环境,本文将详细介绍如何在虚拟机中的Ubuntu系统上安装Docker,涵盖环境准备、安装步骤、验证方法及常见问题解决,帮助读者快速搭建容器化开发环境。
准备工作
在开始安装Docker前,需确保虚拟机中的Ubuntu系统满足以下条件:
系统要求
- Ubuntu版本:推荐使用Ubuntu 20.04 LTS或22.04 LTS(长期支持版,兼容性更好)。
- 系统架构:64位(x86_64)或ARM64(根据虚拟机CPU类型选择)。
- 内存:至少2GB(建议4GB以上,避免因内存不足导致安装失败)。
- 存储:至少10GB可用空间(Docker镜像和容器会占用存储)。
虚拟机网络设置
确保虚拟机网络模式为“桥接模式”或“NAT模式”,并能正常访问外网(用于下载Docker相关资源),若使用桥接模式,虚拟机将直接连接到物理网络,便于后续容器与宿主机或其他设备通信;NAT模式则通过宿主机共享网络,适合局域网环境。

更新系统
打开终端(快捷键Ctrl+Alt+T),执行以下命令更新系统软件包列表和已安装的包:
sudo apt update && sudo apt upgrade -y
安装Docker
Docker提供了官方的APT软件源,推荐通过官方源安装,以确保版本稳定和安全,以下是详细步骤:
安装依赖包
Docker依赖一些基础包,如ca-certificates(证书验证)、curl(下载工具)、gnupg(密钥管理)等,使用以下命令安装:
sudo apt install -y ca-certificates curl gnupg
添加Docker官方GPG密钥
Docker的软件包通过GPG签名验证,需先添加官方密钥到系统的信任列表:
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
添加Docker APT软件源
根据Ubuntu版本添加对应的软件源,以Ubuntu 22.04为例,执行以下命令:
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
若使用Ubuntu 20.04,将$(. /etc/os-release && echo "$VERSION_CODENAME")替换为focal(20.04的版本代号)。
安装Docker Engine
更新软件包列表后,安装Docker Engine(包含docker-ce、docker-ce-cli、containerd.io等核心组件):
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动Docker服务并设置开机自启
安装完成后,启动Docker服务并设置为开机自动启动,确保系统重启后Docker仍可用:
sudo systemctl start docker sudo systemctl enable docker
验证安装
安装完成后,通过以下步骤验证Docker是否正常运行:
检查Docker版本
执行以下命令查看Docker版本(若显示版本号,说明安装成功):
docker --version
运行测试容器
Docker官方提供了一个“Hello World”测试镜像,运行以下命令拉取并启动容器:
sudo docker run hello-world ``` 说明Docker容器功能正常:
Hello from Docker! This message shows that your installation appears to be working correctly.
### 3. 配置普通用户权限(可选)
默认情况下,只有`root`用户和`docker`组的用户可以执行Docker命令,为避免每次使用`sudo`,可将当前用户添加到`docker`组:
```bash
sudo usermod -aG docker $USER
注意:添加用户组后需退出当前终端并重新登录,或执行newgrp docker使权限生效。
常见问题及解决
问题1:docker: Got permission denied while trying to connect to the Docker daemon socket
原因:当前用户不在docker组中。
解决:参考“配置普通用户权限”部分,将用户添加到docker组并重新登录。
问题2:docker: Cannot connect to the Docker daemon
原因:Docker服务未启动。
解决:执行sudo systemctl start docker启动服务,并检查服务状态:
sudo systemctl status docker
问题3:下载Docker镜像速度慢
原因:默认使用Docker官方镜像源,国内访问较慢。
解决:配置国内镜像加速器(以阿里云为例):
- 创建或编辑
/etc/docker/daemon.json文件:sudo nano /etc/docker/daemon.json
- 添加以下内容(替换为实际可用的镜像源):
{ "registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"] } - 重启Docker服务:
sudo systemctl restart docker
问题4:Ubuntu 22.04使用apt install docker安装旧版本
原因:系统默认源中可能包含旧版Docker。
解决:确保已添加Docker官方源(参考步骤3),并卸载旧版:
sudo apt purge docker docker-engine docker.io containerd runc
通过以上步骤,即可在虚拟机的Ubuntu系统中成功安装Docker,安装完成后,你可以开始使用Docker拉取镜像、运行容器、构建自定义镜像等,体验容器化技术的便捷性,对于初学者,建议从简单的Nginx、MySQL等容器入手,逐步熟悉Docker的基本操作;对于开发者,可结合Docker Compose管理多容器应用,提升开发效率。
若需进一步学习,可参考Docker官方文档或Ubuntu社区资源,探索Docker在微服务、持续集成等场景的深度应用。


