Ubuntu虚拟机安装Docker,Docker安装教程

摘要
Docker 是一种容器化技术,传统的虚拟化可以通过硬件模拟或操作系统软件实现,但容器更高效和优雅,例如:
-
传统方式(虚拟机):每运行一个应用,就必须虚拟出一套完整的硬件和操作系统(Guest
OS)。这就像为了住一个人,必须盖一栋带有独立地基、大堂、电梯和保安系统的完整酒店。即使你的应用只有 10MB,你可能也要为此耗费数 GB 的系统资源。 -
Docker 方式:所有容器共享同一个宿主机的内核。这就像是一个巨大的胶囊旅馆,大家共用大堂、电梯和电力系统(宿主机内核),每个旅客只占用自己睡觉的小空间。一台服务器可以轻松运行成百上千个容器。
市面上也有很多容器技术, Docker 应该是最流行的、最成熟的,因此本文先从 Docker 安装开始。 Docker 的官方网站如下:
-
官方文档 (Docs):https://docs.docker.com/
-
镜像仓库 (Docker Hub):https://hub.docker.com/,类似镜像版的 GitHub。可以在这里搜索官方提供的
python、mysql、nginx等镜像,也可以上传你自己的项目镜像。
目录
一、 安装前的准备
在 windows 安装好 VMware 虚拟机,参考教程如下:
首先,点击界面上的 “开启此虚拟机”。登录后,按快捷键 Ctrl + Alt + T 打开终端。



1. 执行更新
默认源在国外,下载很慢。先执行更新:
sudo apt update

2. 安装基础依赖
sudo apt install -y ca-certificates curl gnupg lsb-release

二、 安装 Docker 社区版
为了保证安装的是最新且最稳定的版本,我们使用官方推荐的仓库安装法。
1. 添加 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

使用阿里云的 GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

查看公钥信息:
sudo apt-key fingerprint 0EBFCD88

2. 设置 Docker 仓库
修改软件源地址
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. 安装docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装结果:
sudo systemctl status docker

4、配置镜像加速器
新建/修改配置文件:
sudo nano /etc/docker/daemon.json

在文件中粘贴以下内容:
{
"registry-mirrors": [
"https://dhq963f2.mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io"
]
}
粘贴进去

保存并退出(Nano 编辑器按 Ctrl+O 回车,再按 Ctrl+X)
然后重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker
验证是否配置成功
docker info
提示当前用户没有权限直接操作 Docker 进程。
解决方法:将当前用户加入 docker 组
sudo usermod -aG docker $USER
让权限生效,不需要重启整个电脑,只需执行:
newgrp docker

现在,请再次尝试运行那条命令(不需要加 sudo):
docker info
5、测试
拉取 hello-world 镜像
sudo docker pull hello-world
sudo docker run hello-world
看到 Hello from Docker! 输出,代表 Docker 已经成功安装。

三、Docker 常用命令
1. 系统服务管理(控制 Docker 引擎开关)
这部分命令通常在刚开机或 Docker 报错时使用。
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看状态 | sudo systemctl status docker | 检查 Docker 是否正在运行(看绿色 active 标志)。 |
| 启动服务 | sudo systemctl start docker | 手动开启 Docker 引擎。 |
| 停止服务 | sudo systemctl stop docker | 关闭 Docker,停止所有正在运行的容器。 |
| 重启服务 | sudo systemctl restart docker | 修改配置(如镜像加速器)后必须执行此项。 |
| 设置开机自启 | sudo systemctl enable docker | 确保下次虚拟机开机时,Docker 自动启动。 |
2. 镜像与容器管理(日常开发最常用)
这部分是你操作 YOLO 镜像 和 Django 容器 的核心。
| 操作 | 命令 | 说明 |
|---|---|---|
| 查看镜像 | docker images | 列出本地所有下载或构建的镜像。 |
| 删除镜像 | docker rmi 镜像ID | 删除不再需要的镜像以释放空间。 |
| 查看容器 | docker ps -a | -a 表示查看所有容器(含已停止的)。 |
| 构建项目 | docker build -t 项目名:v1 . | 根据 Dockerfile 打包项目。 |
| 启动项目 | docker run -d -p 80:80 项目名 | -d 后台运行,-p 映射端口(宿主机:容器)。 |
| 停止容器 | docker stop 容器ID | 正常关闭正在运行的项目。 |
| 强制删除 | docker rm -f 容器ID | 删掉容器实例(不影响镜像)。 |
| 查看日志 | docker logs -f 容器ID | 调试神器:实时查看 Django 报错信息。 |
3. 进阶与项目编排
适合管理多个容器。
| 操作 | 命令 | 说明 |
|---|---|---|
| 进入项目 | docker exec -it 容器ID /bin/bash | 进入容器内部,像操作虚拟机一样改配置。 |
| 一键启动 | docker compose up -d | 根据 yml 文件一键启动整套全栈环境。 |
| 一键关闭 | docker compose down | 停止并移除整套项目的容器和网络。 |
| 清理垃圾 | docker system prune -a | 一键删除所有没用的镜像和缓存(慎用)。 |
💡 提示
- 关于
sudo: 如果已经执行过sudo usermod -aG docker $USER并重启了,那么上面表格中除了systemctl相关的系统命令外,其他的docker开头命令都不再需要加sudo。
更多推荐
所有评论(0)