02 常用命令速查
Docker / Docker Compose 命令速查表,按场景分组,需要时 Ctrl+F 搜索即可。
1. 镜像
| 命令 | 说明 |
|---|---|
docker pull nginx:1.25 | 拉取镜像 |
docker images | 列出本地镜像 |
docker rmi 镜像名:标签 | 删除镜像 |
docker build -t 名字:标签 . | 用当前目录 Dockerfile 构建 |
docker build --no-cache -t 名字 . | 不用缓存构建 |
docker tag 源 目标 | 打标签 |
docker push 仓库/名字:标签 | 推送镜像 |
docker save -o app.tar 镜像名 | 镜像导出为文件(离线搬运) |
docker load -i app.tar | 从文件导入镜像 |
docker image prune | 清理悬空镜像 |
docker history 镜像名 | 查看镜像分层 |
2. 容器生命周期
| 命令 | 说明 |
|---|---|
docker run -d --name xx -p 80:80 镜像 | 后台启动容器 |
docker run -it --rm 镜像 sh | 交互式临时容器(退出即删) |
docker ps / docker ps -a | 运行中 / 全部容器 |
docker stop 容器 / docker start 容器 | 停止 / 启动 |
docker restart 容器 | 重启 |
docker rm 容器 / docker rm -f 容器 | 删除 / 强制删除 |
docker container prune | 清理所有已停止容器 |
docker rename 旧名 新名 | 重命名 |
docker update --restart unless-stopped 容器 | 修改重启策略 |
docker run 常用参数
| 参数 | 说明 |
|---|---|
-d | 后台运行 |
--name xx | 容器名 |
-p 宿主:容器 | 端口映射 |
-e KEY=VAL | 环境变量 |
-v 卷或路径:容器路径 | 挂载 |
--network 网络名 | 加入网络 |
--restart unless-stopped | 自动重启 |
-it | 交互式终端 |
--rm | 退出后自动删除 |
--memory 512m --cpus 1 | 资源限制 |
3. 排查与调试
| 命令 | 说明 |
|---|---|
docker logs 容器 | 查看日志 |
docker logs -f --tail 100 容器 | 实时跟踪最后 100 行 |
docker exec -it 容器 bash | 进入容器(无 bash 用 sh) |
docker exec 容器 命令 | 容器内执行单条命令 |
docker inspect 容器 | 查看完整配置 |
docker stats | 实时资源占用 |
docker top 容器 | 容器内进程 |
docker cp 容器:/路径 ./ | 容器 ↔ 宿主机拷文件 |
docker diff 容器 | 容器文件系统改动 |
4. 数据卷与网络
| 命令 | 说明 |
|---|---|
docker volume ls | 列出卷 |
docker volume create 名字 | 创建卷 |
docker volume inspect 名字 | 卷详情(含实际路径) |
docker volume rm 名字 | 删除卷(数据会丢) |
docker volume prune | 清理无主卷 |
docker network ls | 列出网络 |
docker network create 名字 | 创建网络 |
docker network inspect 名字 | 网络详情 |
docker network connect 网络 容器 | 容器加入网络 |
docker network rm 名字 | 删除网络 |
5. 系统清理
| 命令 | 说明 |
|---|---|
docker system df | Docker 磁盘占用总览 |
docker system prune | 清理停止容器、无用网络、悬空镜像、构建缓存 |
docker system prune -a | 上面基础上,连未使用的镜像也删 |
docker builder prune | 只清构建缓存 |
6. Docker Compose
| 命令 | 说明 |
|---|---|
docker compose up -d | 启动全部服务 |
docker compose up -d --build | 重新构建并启动 |
docker compose up -d 服务 | 只启动某个服务 |
docker compose down | 停止并删除容器、网络 |
docker compose down -v | 连命名卷一起删(危险) |
docker compose ps | 服务状态 |
docker compose logs -f 服务 | 实时日志 |
docker compose exec 服务 bash | 进入服务容器 |
docker compose run --rm 服务 命令 | 一次性任务容器 |
docker compose restart 服务 | 重启服务 |
docker compose stop / start | 暂停 / 恢复(不删容器) |
docker compose pull | 拉取所有远程镜像 |
docker compose build --no-cache | 无缓存构建 |
docker compose config | 校验并输出最终配置 |
docker compose ls | 列出所有 compose 项目 |
docker compose -f a.yaml -f b.yaml up -d | 叠加多个配置文件 |
7. 高频场景速查
# ---- 发布新版本(自建镜像)----
git pull
docker compose up -d --build
docker compose logs -f api
# ---- 发布新版本(远程镜像)----
docker compose pull
docker compose up -d
# ---- MySQL 备份 / 恢复 ----
docker compose exec -T mysql mysqldump -uroot -p密码 库名 > backup.sql
docker compose exec -T mysql mysql -uroot -p密码 库名 < backup.sql
# ---- 磁盘满了 ----
docker system df
docker system prune
# ---- 容器起不来 ----
docker compose ps
docker compose logs --tail 200 服务名
# ---- 镜像离线搬运(服务器没外网)----
docker save -o app.tar myapp:1.0 # 有网机器导出
docker load -i app.tar # 目标机器导入
8. Dockerfile 指令速查
| 指令 | 说明 |
|---|---|
FROM 镜像 [AS 别名] | 基础镜像 / 构建阶段 |
WORKDIR /app | 工作目录 |
COPY 源 目标 | 复制文件进镜像 |
COPY --from=阶段 源 目标 | 从其他构建阶段复制 |
RUN 命令 | 构建时执行 |
ENV KEY=VAL | 环境变量 |
ARG KEY=默认值 | 构建参数 |
EXPOSE 端口 | 声明端口(文档性质) |
USER 用户 | 切换运行用户 |
CMD ["可执行", "参数"] | 容器启动命令 |
ENTRYPOINT ["可执行"] | 入口点,CMD 变成它的参数 |
HEALTHCHECK CMD 命令 | 健康检查 |
全部教程到此结束。