133 lines
3.1 KiB
Markdown
133 lines
3.1 KiB
Markdown
|
|
---
|
||
|
|
tags: [CS, TOOLS, Docker, 容器化]
|
||
|
|
create time: 2026-04-21
|
||
|
|
---
|
||
|
|
|
||
|
|
# Docker 安装指南
|
||
|
|
|
||
|
|
## 概述
|
||
|
|
|
||
|
|
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
|
||
|
|
|
||
|
|
## 系统要求
|
||
|
|
|
||
|
|
- Ubuntu 24.04 LTS (Jammy Jellyfish)
|
||
|
|
- 64-bit architecture
|
||
|
|
- 内核版本 4.15 或更高版本
|
||
|
|
|
||
|
|
## 安装步骤
|
||
|
|
|
||
|
|
### 1. 更新系统包索引
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo apt update
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. 安装必要的依赖包
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. 添加 Docker 官方 GPG 密钥
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. 添加 Docker APT 仓库
|
||
|
|
|
||
|
|
```bash
|
||
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. 更新包索引
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo apt update
|
||
|
|
```
|
||
|
|
|
||
|
|
### 6. 安装 Docker Engine
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||
|
|
```
|
||
|
|
|
||
|
|
### 7. 启动并启用 Docker 服务
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo systemctl start docker
|
||
|
|
sudo systemctl enable docker
|
||
|
|
```
|
||
|
|
|
||
|
|
### 8. 将当前用户添加到 docker 组(可选,但推荐)
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo usermod -aG docker $USER
|
||
|
|
```
|
||
|
|
|
||
|
|
> 请注意:执行此命令后,需要重新登录或运行 `newgrp docker` 命令使组成员身份生效。
|
||
|
|
|
||
|
|
## 验证安装
|
||
|
|
|
||
|
|
执行以下命令来验证 Docker 是否正确安装:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker --version
|
||
|
|
```
|
||
|
|
|
||
|
|
运行一个简单的测试容器:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
docker run hello-world
|
||
|
|
```
|
||
|
|
|
||
|
|
## 常用命令
|
||
|
|
|
||
|
|
| 命令 | 说明 |
|
||
|
|
|------|------|
|
||
|
|
| `docker pull [镜像名]` | 拉取镜像 |
|
||
|
|
| `docker run [镜像名]` | 运行容器 |
|
||
|
|
| `docker ps` | 显示正在运行的容器 |
|
||
|
|
| `docker ps -a` | 显示所有容器 |
|
||
|
|
| `docker images` | 显示所有镜像 |
|
||
|
|
| `docker stop [容器名/ID]` | 停止容器 |
|
||
|
|
| `docker rm [容器名/ID]` | 删除容器 |
|
||
|
|
| `docker rmi [镜像名/ID]` | 删除镜像 |
|
||
|
|
|
||
|
|
## 后续操作
|
||
|
|
|
||
|
|
- **Docker Compose**:如果您需要使用 Docker Compose,在安装 Docker 时已包含,可直接使用
|
||
|
|
- **配置 Docker**:可以修改 `/etc/docker/daemon.json` 文件进行配置
|
||
|
|
|
||
|
|
## 安全说明
|
||
|
|
|
||
|
|
- 不要使用 root 用户运行 Docker
|
||
|
|
- 为非 root 用户添加 docker 组时要小心,因为该用户将具有 root 权限
|
||
|
|
- 定期更新 Docker 和容器镜像
|
||
|
|
|
||
|
|
## 故障排除
|
||
|
|
|
||
|
|
### 权限问题
|
||
|
|
|
||
|
|
如果遇到权限问题,确保当前用户已被添加到 docker 组中:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo usermod -aG docker $USER
|
||
|
|
```
|
||
|
|
|
||
|
|
然后注销并重新登录。
|
||
|
|
|
||
|
|
### 服务启动失败
|
||
|
|
|
||
|
|
如果 Docker 服务无法启动,可以检查其状态:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo systemctl status docker
|
||
|
|
```
|
||
|
|
|
||
|
|
## 参考资料
|
||
|
|
|
||
|
|
- [Docker 官方安装指南](https://docs.docker.com/engine/install/ubuntu/)
|
||
|
|
- [Ubuntu 24.04 Docker 安装文档](https://ubuntu.com/server/docs/container-docker)
|