2026-04-28 21:55:18 +08:00
|
|
|
|
---
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- docker
|
|
|
|
|
|
- devops
|
|
|
|
|
|
- containerization
|
|
|
|
|
|
- reference
|
|
|
|
|
|
create time: 2026-04-28 14:40
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 20:31:20 +08:00
|
|
|
|
# Docker 常用命令
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
> 按「容器生命周期」组织的命令速查手册。从拉取镜像到清理收尾,日常 90% 的操作都在以下命令中。建议收藏,用时直接翻。
|
|
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
|
|
|
|
|
|
Docker 的命令体系看似庞杂,但本质上围绕四个核心对象展开:**镜像(Image)→ 容器(Container)→ 网络(Network)→ 数据卷(Volume)**。
|
|
|
|
|
|
|
|
|
|
|
|
> [!tip] 记忆框架
|
|
|
|
|
|
> 理解这个生命周期,所有命令就不需要死记了:
|
|
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
|
flowchart LR
|
|
|
|
|
|
A["拉取镜像"] --> B["构建镜像"]
|
|
|
|
|
|
B --> C["运行容器"]
|
|
|
|
|
|
C --> D["调试/监控"]
|
|
|
|
|
|
D --> E["停止/删除"]
|
|
|
|
|
|
E --> F["清理回收"]
|
|
|
|
|
|
F --> A
|
|
|
|
|
|
|
|
|
|
|
|
style A fill:#e3f2fd
|
|
|
|
|
|
style B fill:#fff3e0
|
|
|
|
|
|
style C fill:#e8f5e9
|
|
|
|
|
|
style D fill:#f3e5f5
|
|
|
|
|
|
style E fill:#fce4ec
|
|
|
|
|
|
style F fill:#efebe9
|
|
|
|
|
|
```
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
## 正文
|
|
|
|
|
|
|
|
|
|
|
|
### 一、镜像管理(Image)
|
|
|
|
|
|
|
|
|
|
|
|
> [!info] 镜像 = 只读模板
|
|
|
|
|
|
> 镜像是容器的"蓝图"。同一个镜像可以运行多个容器实例,它们互不影响。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 拉取镜像
|
|
|
|
|
|
docker pull nginx:latest # 拉取最新标签
|
|
|
|
|
|
docker pull redis:7-alpine # 拉取精简版(alpine 体积更小)
|
|
|
|
|
|
docker pull node:20-slim
|
|
|
|
|
|
|
|
|
|
|
|
# 查看所有镜像
|
|
|
|
|
|
docker images # 或 docker image ls
|
|
|
|
|
|
|
|
|
|
|
|
# 搜索镜像
|
|
|
|
|
|
docker search nginx # 搜索官方和社区镜像
|
|
|
|
|
|
|
|
|
|
|
|
# 给镜像打标签
|
|
|
|
|
|
docker tag my-app:latest myrepo/my-app:v1.0
|
|
|
|
|
|
|
|
|
|
|
|
# 删除镜像
|
|
|
|
|
|
docker rmi nginx # 删除单个
|
2026-04-28 21:55:18 +08:00
|
|
|
|
docker rmi $(docker images -q) # 删除所有镜像(谨慎!)
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
# 构建镜像
|
|
|
|
|
|
docker build -t my-app:v1.0 . # 当前目录构建(默认用 Dockerfile)
|
|
|
|
|
|
docker build -t my-app:v1.0 -f Dockerfile.prod . # 指定 Dockerfile
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
> [!tip] 镜像分层缓存
|
|
|
|
|
|
> `docker build` 从上到下逐行执行,每一行都会生成一层缓存。把**不变的部分放前面**(安装依赖),**变化的部分放后面**(复制代码),充分利用缓存加速。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 二、容器管理(Container)
|
|
|
|
|
|
|
|
|
|
|
|
> [!abstract] 容器 = 镜像的运行实例
|
|
|
|
|
|
> 容器是轻量级、隔离的进程。删除容器 = 停止进程 + 释放资源,容器内部写入的数据默认会丢失(除非挂载了 Volume)。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 运行容器
|
|
|
|
|
|
docker run -d -p 8080:80 --name web nginx
|
|
|
|
|
|
# -d 后台运行(detached)
|
|
|
|
|
|
# -p 8080:80 宿主机端口:容器端口
|
|
|
|
|
|
# --name 容器名称(方便后续操作)
|
|
|
|
|
|
|
|
|
|
|
|
# 前台运行(查看日志用)
|
|
|
|
|
|
docker run -it --rm nginx bash
|
|
|
|
|
|
# -i 交互式 -t 终端 --rm 退出后自动删除
|
|
|
|
|
|
|
|
|
|
|
|
# 查看所有容器(含已停止的)
|
|
|
|
|
|
docker ps -a # 或 docker container ls -a
|
|
|
|
|
|
|
|
|
|
|
|
# 查看运行中的容器
|
|
|
|
|
|
docker ps
|
|
|
|
|
|
|
|
|
|
|
|
# 启动/停止/重启容器
|
|
|
|
|
|
docker start web
|
|
|
|
|
|
docker stop web # 优雅停止(发 SIGTERM,等 10s 后 SIGKILL)
|
|
|
|
|
|
docker restart web
|
|
|
|
|
|
docker kill web # 强制停止(发 SIGKILL)
|
|
|
|
|
|
|
|
|
|
|
|
# 进入运行中的容器
|
|
|
|
|
|
docker exec -it web bash # 在运行中的容器里执行命令
|
|
|
|
|
|
docker exec -it web sh # 有些精简镜像没有 bash,用 sh
|
|
|
|
|
|
|
|
|
|
|
|
# 删除容器
|
|
|
|
|
|
docker rm web # 删除已停止的容器
|
|
|
|
|
|
docker rm -f web # 强制删除运行中的容器
|
|
|
|
|
|
|
|
|
|
|
|
# 查看容器日志
|
|
|
|
|
|
docker logs web
|
|
|
|
|
|
docker logs -f web # 实时跟踪日志(类似 tail -f)
|
|
|
|
|
|
docker logs --tail 100 web # 只看最后 100 行
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**`docker run` 常用参数速查:**
|
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 作用 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| `-d` | 后台运行 |
|
|
|
|
|
|
| `-p host:container` | 端口映射 |
|
|
|
|
|
|
| `-v host:container` | 挂载卷 |
|
|
|
|
|
|
| `-e KEY=VALUE` | 设置环境变量 |
|
|
|
|
|
|
| `--name` | 容器名称 |
|
|
|
|
|
|
| `--network` | 指定网络 |
|
|
|
|
|
|
| `--restart=always` | 容器崩溃/开机自动重启 |
|
|
|
|
|
|
| `--rm` | 退出后自动删除(临时调试用) |
|
|
|
|
|
|
| `-it` | 交互式终端 |
|
|
|
|
|
|
| `--gpus all` | 启用 GPU(NVIDIA) |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 三、网络管理(Network)
|
|
|
|
|
|
|
|
|
|
|
|
> [!question] 为什么容器能互相"看见"?
|
|
|
|
|
|
> 答:Docker 为每个容器分配独立 IP,同一网络下的容器可以通过**容器名**(自动 DNS 解析)互相通信。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 查看所有网络
|
|
|
|
|
|
docker network ls
|
|
|
|
|
|
|
|
|
|
|
|
# 创建自定义网络
|
|
|
|
|
|
docker network create my-network
|
|
|
|
|
|
|
|
|
|
|
|
# 容器加入指定网络
|
|
|
|
|
|
docker run -d --name web1 --network my-network nginx
|
|
|
|
|
|
docker run -d --name db1 --network my-network mysql
|
|
|
|
|
|
|
|
|
|
|
|
# 容器间通过名称互相访问(自动 DNS 解析)
|
|
|
|
|
|
docker exec web1 ping db1 # 在同一网络下可直接 ping 容器名
|
|
|
|
|
|
|
|
|
|
|
|
# 删除网络
|
|
|
|
|
|
docker network rm my-network
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
> [!note] 为什么需要自定义网络?
|
|
|
|
|
|
> Docker 默认的 `bridge` 网络不支持容器名 DNS 解析。自定义网络可以让容器通过**名字**互相通信。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 四、数据卷(Volume)
|
|
|
|
|
|
|
|
|
|
|
|
> [!danger] 容器是易失的(ephemeral)
|
|
|
|
|
|
> 删除容器 = 容器内数据消失!必须用 `-v` 把数据持久化到 Volume 或宿主机目录。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 查看所有卷
|
|
|
|
|
|
docker volume ls
|
|
|
|
|
|
|
|
|
|
|
|
# 创建卷
|
|
|
|
|
|
docker volume create my-data
|
|
|
|
|
|
|
|
|
|
|
|
# 挂载卷到容器
|
|
|
|
|
|
docker run -d -v my-data:/data --name app nginx
|
|
|
|
|
|
|
|
|
|
|
|
# 挂载宿主机目录到容器(bind mount)
|
|
|
|
|
|
docker run -d -v /host/path:/container/path nginx
|
|
|
|
|
|
|
|
|
|
|
|
# 只读挂载
|
|
|
|
|
|
docker run -d -v my-data:/data:ro nginx
|
|
|
|
|
|
|
|
|
|
|
|
# 查看卷详情
|
|
|
|
|
|
docker volume inspect my-data
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 五、日志与调试
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 进入容器
|
|
|
|
|
|
docker exec -it <容器名> bash
|
|
|
|
|
|
|
|
|
|
|
|
# 查看容器资源占用
|
|
|
|
|
|
docker stats
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# 查看容器详情(JSON 格式)
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker inspect web
|
|
|
|
|
|
|
|
|
|
|
|
# 查看容器进程
|
|
|
|
|
|
docker top web
|
|
|
|
|
|
|
|
|
|
|
|
# 拷贝文件进出容器
|
|
|
|
|
|
docker cp container.log web:/tmp/
|
|
|
|
|
|
docker cp web:/tmp/remote.log ./local.log
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# 查看镜像构建历史
|
|
|
|
|
|
docker history my-app:v1.0
|
2026-04-28 20:31:20 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 六、清理命令(重要!)
|
|
|
|
|
|
|
|
|
|
|
|
> [!warning] 磁盘占用会持续增长
|
|
|
|
|
|
> 停止的容器、未使用的镜像、悬空卷会悄悄吃掉磁盘空间。定期清理是好习惯。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 删除所有已停止的容器
|
|
|
|
|
|
docker container prune
|
|
|
|
|
|
|
|
|
|
|
|
# 删除所有未使用的镜像
|
|
|
|
|
|
docker image prune -a
|
|
|
|
|
|
|
|
|
|
|
|
# 删除所有未使用的卷
|
|
|
|
|
|
docker volume prune
|
|
|
|
|
|
|
|
|
|
|
|
# 一键清理(容器+镜像+卷+网络,谨慎使用)
|
|
|
|
|
|
docker system prune -a
|
|
|
|
|
|
|
|
|
|
|
|
# 查看磁盘占用
|
|
|
|
|
|
docker system df
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 七、常用完整命令场景
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
#### 7.1 运行 Nginx
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run -d \
|
|
|
|
|
|
-p 80:80 \
|
|
|
|
|
|
-v ./nginx.conf:/etc/nginx/nginx.conf:ro \
|
|
|
|
|
|
-v ./html:/usr/share/nginx/html \
|
|
|
|
|
|
--name my-nginx \
|
|
|
|
|
|
--restart=always \
|
|
|
|
|
|
nginx:alpine
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
#### 7.2 运行 MySQL
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run -d \
|
|
|
|
|
|
-p 3306:3306 \
|
|
|
|
|
|
-e MYSQL_ROOT_PASSWORD=root123 \
|
|
|
|
|
|
-e MYSQL_DATABASE=mydb \
|
|
|
|
|
|
-v mysql-data:/var/lib/mysql \
|
|
|
|
|
|
--name my-mysql \
|
|
|
|
|
|
--restart=always \
|
|
|
|
|
|
mysql:8.0
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
#### 7.3 运行 Redis
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run -d \
|
|
|
|
|
|
-p 6379:6379 \
|
|
|
|
|
|
-v redis-data:/data \
|
|
|
|
|
|
--name my-redis \
|
2026-04-28 21:55:18 +08:00
|
|
|
|
--restart=always \
|
2026-04-28 20:31:20 +08:00
|
|
|
|
redis:7-alpine redis-server --appendonly yes
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
#### 7.4 运行 Node 开发环境
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
docker run -it \
|
|
|
|
|
|
-p 3000:3000 \
|
|
|
|
|
|
-v $(pwd):/app \
|
|
|
|
|
|
-w /app \
|
|
|
|
|
|
node:20 \
|
|
|
|
|
|
bash
|
|
|
|
|
|
# -v $(pwd):/app 挂载项目目录,修改代码实时生效
|
|
|
|
|
|
# -w /app 设置工作目录
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
### 八、进阶:Docker 网络模式
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
Docker 提供四种网络模式:
|
|
|
|
|
|
|
|
|
|
|
|
| 模式 | 特点 | 适用场景 |
|
|
|
|
|
|
|------|------|----------|
|
|
|
|
|
|
| `bridge`(默认) | 容器有独立 IP | 大多数场景 |
|
|
|
|
|
|
| `host` | 共享宿主机网络,性能最好 | 高性能需求 |
|
|
|
|
|
|
| `none` | 无网络(完全隔离) | 安全隔离 |
|
|
|
|
|
|
| `container` | 共享另一个容器的网络命名空间 | 特殊协作 |
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
```bash
|
|
|
|
|
|
# bridge(默认)
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker run -d --network bridge nginx
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# host
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker run -d --network host nginx
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# none
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker run -d --network none nginx
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# container(共享 web 容器的网络)
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker run -d --network container:web nginx
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# 推荐:自定义 bridge 网络
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker network create my-net
|
|
|
|
|
|
docker run -d --network my-net --name app nginx
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 九、进阶:日志驱动
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 查看容器的日志配置
|
|
|
|
|
|
docker inspect web | grep LogConfig
|
2026-04-28 21:55:18 +08:00
|
|
|
|
```
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
| 驱动类型 | 说明 |
|
|
|
|
|
|
|----------|------|
|
|
|
|
|
|
| `json-file` | 默认,日志写入文件 |
|
|
|
|
|
|
| `local` | 循环写入,控制大小 |
|
|
|
|
|
|
| `syslog` | 发送到 syslog |
|
|
|
|
|
|
| `journald` | 发送到 systemd journal |
|
|
|
|
|
|
| `none` | 不记录日志 |
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
```yaml
|
2026-04-28 20:31:20 +08:00
|
|
|
|
# docker-compose 中限制日志大小
|
|
|
|
|
|
services:
|
|
|
|
|
|
api:
|
|
|
|
|
|
logging:
|
|
|
|
|
|
driver: json-file
|
|
|
|
|
|
options:
|
|
|
|
|
|
max-size: "10m" # 单个日志文件最大 10MB
|
|
|
|
|
|
max-file: "3" # 最多保留 3 个文件
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 十、进阶:资源限制
|
|
|
|
|
|
|
|
|
|
|
|
> [!tip] 为什么需要限制资源?
|
|
|
|
|
|
> 防止某个容器吃光 CPU/内存导致宿主机崩溃,这是多容器环境的必修课。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 限制 CPU 和内存
|
|
|
|
|
|
docker run -d \
|
2026-04-28 21:55:18 +08:00
|
|
|
|
--cpus="1.5" \
|
|
|
|
|
|
--memory="512m" \
|
|
|
|
|
|
--memory-swap="1g" \
|
|
|
|
|
|
--pids-limit=100 \
|
2026-04-28 20:31:20 +08:00
|
|
|
|
nginx
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# --cpus 限制 1.5 个 CPU 核心
|
|
|
|
|
|
# --memory 限制 512MB 内存
|
|
|
|
|
|
# --memory-swap 允许使用的 swap 总量
|
|
|
|
|
|
# --pids-limit 最多 100 个进程(防 fork 炸弹)
|
2026-04-28 20:31:20 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 十一、进阶:Docker Swarm(简易集群)
|
|
|
|
|
|
|
|
|
|
|
|
> [!info] Swarm vs Kubernetes
|
|
|
|
|
|
> Swarm 适合单节点或小团队快速上手。大规模生产环境建议直接用 Kubernetes。
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 初始化集群(单节点)
|
|
|
|
|
|
docker swarm init
|
|
|
|
|
|
|
|
|
|
|
|
# 查看节点
|
|
|
|
|
|
docker node ls
|
|
|
|
|
|
|
|
|
|
|
|
# 创建服务(Swarm 管理方式)
|
|
|
|
|
|
docker service create --name web -p 80:80 --replicas 3 nginx
|
|
|
|
|
|
|
|
|
|
|
|
# 扩容
|
|
|
|
|
|
docker service scale web=5
|
|
|
|
|
|
|
|
|
|
|
|
# 查看服务
|
|
|
|
|
|
docker service ls
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# 零停机滚动更新
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker service update --image nginx:1.25 web
|
|
|
|
|
|
|
|
|
|
|
|
# 删除服务
|
|
|
|
|
|
docker service rm web
|
|
|
|
|
|
|
|
|
|
|
|
# 退出集群
|
|
|
|
|
|
docker swarm leave
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
# 多节点集群
|
2026-04-28 20:31:20 +08:00
|
|
|
|
docker swarm init --advertise-addr <IP>
|
2026-04-28 21:55:18 +08:00
|
|
|
|
docker swarm join-token manager # 获取管理节点令牌
|
|
|
|
|
|
docker swarm join-token worker # 获取工作节点令牌
|
2026-04-28 20:31:20 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
---
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
2026-04-28 21:55:18 +08:00
|
|
|
|
## 快速速查表
|
2026-04-28 20:31:20 +08:00
|
|
|
|
|
|
|
|
|
|
| 操作 | 命令 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| 启动 Docker 服务 | `systemctl start docker` |
|
|
|
|
|
|
| 查看版本 | `docker --version` |
|
|
|
|
|
|
| 查看信息 | `docker info` |
|
|
|
|
|
|
| 登录镜像仓库 | `docker login` |
|
|
|
|
|
|
| 推送镜像 | `docker push my-app:v1.0` |
|
|
|
|
|
|
| 导出镜像 | `docker save -o my-app.tar my-app:v1.0` |
|
|
|
|
|
|
| 导入镜像 | `docker load -i my-app.tar` |
|
|
|
|
|
|
| 查看容器日志 | `docker logs -f <容器名>` |
|
|
|
|
|
|
| 进入容器 | `docker exec -it <容器名> bash` |
|
|
|
|
|
|
| 停止所有容器 | `docker stop $(docker ps -q)` |
|
|
|
|
|
|
| 删除所有容器 | `docker rm -f $(docker ps -aq)` |
|
|
|
|
|
|
| 查看磁盘占用 | `docker system df` |
|
|
|
|
|
|
| 全面清理 | `docker system prune -a` |
|
2026-04-28 21:55:18 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 关联笔记
|
|
|
|
|
|
|
|
|
|
|
|
- [[Dockerfile编写指南]] — 编写高效的 Dockerfile
|
|
|
|
|
|
- [[docker-compose]] — 用 Compose 编排多容器应用
|