跳到主要内容

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 dfDocker 磁盘占用总览
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 命令健康检查

全部教程到此结束。