chat
命令有哪些?
以下为 Docker 最常用命令的分类整理表格,涵盖镜像管理、容器操作、网络与存储等核心场景:
一、镜像管理
| 命令 | 说明 | 常用参数示例 |
|——|——|————–|
| docker pull <镜像名>:<标签>
| 拉取镜像 | docker pull nginx:latest
|
| docker images
| 查看本地镜像 | docker images -a
(含中间层镜像) |
| docker rmi <镜像ID>
| 删除镜像 | docker rmi -f $(docker images -q)
(强制删除所有镜像) |
| docker build -t <镜像名> .
| 构建镜像 | docker build -t myapp:v1 -f Dockerfile.prod .
|
| docker push <镜像名>
| 推送镜像到仓库 | docker push myuser/myapp:latest
|
二、容器生命周期管理
| 命令 | 说明 | 常用参数示例 |
|——|——|————–|
| docker run <镜像>
| 创建并启动容器 | docker run -d --name web -p 80:80 nginx
-d
:后台运行-p
:端口映射-v
:挂载卷 |
| docker start <容器名>
| 启动已停止的容器 | docker start web
|
| docker stop <容器名>
| 停止运行中的容器 | docker stop -t 10 web
(10秒后停止) |
| docker restart <容器名>
| 重启容器 | docker restart web
|
| docker rm <容器名>
| 删除容器 | docker rm -fv web
-f
:强制删除运行中容器-v
:同时删除关联卷 |
| docker exec -it <容器名> <命令>
| 在容器内执行命令 | docker exec -it web bash
(进入容器终端) |
三、容器监控与日志
| 命令 | 说明 | 常用参数示例 |
|——|——|————–|
| docker ps
| 查看运行中的容器 | docker ps -a
(含已停止容器)docker ps -q
(仅显示ID) |
| docker logs <容器名>
| 查看容器日志 | docker logs -f --tail 100 web
(实时尾部100行) |
| docker stats
| 实时监控容器资源 | docker stats --format "table \t"
|
| docker inspect <容器名>
| 查看容器详细信息 | docker inspect web | grep "IPAddress"
|
四、网络管理
| 命令 | 说明 | 示例 |
|——|——|——|
| docker network ls
| 查看网络列表 | - |
| docker network create <网络名>
| 创建自定义网络 | docker network create mynet
|
| docker network connect <网络> <容器>
| 连接容器到网络 | docker network connect mynet web
|
| docker network inspect <网络名>
| 查看网络详情 | docker network inspect bridge
|
五、数据卷管理
| 命令 | 说明 | 示例 |
|——|——|——|
| docker volume create <卷名>
| 创建数据卷 | docker volume create myvol
|
| docker volume ls
| 列出数据卷 | - |
| docker volume inspect <卷名>
| 查看卷详情 | docker volume inspect myvol
|
| docker run -v <卷名>:<容器路径>
| 挂载卷到容器 | docker run -v myvol:/app/data nginx
|
六、其他实用命令
| 命令 | 说明 |
|——|——|
| docker system prune -a
| 清理:删除所有停止的容器、未使用的镜像和网络 |
| docker cp <容器>:<路径> <宿主机路径>
| 容器与宿主机间复制文件 |
| docker-compose up -d
| 使用 Compose 启动多容器应用(需额外安装) |
常用参数速查
| 参数 | 作用 |
|——|——|
| -it
| 交互模式(通常与 bash
/sh
连用) |
| -p <宿主机端口>:<容器端口>
| 端口映射 |
| -v <宿主机路径>:<容器路径>
| 目录挂载(或卷挂载) |
| -e <变量名>=<值>
| 设置环境变量 |
| --name
| 指定容器名称 |
| --rm
| 容器退出后自动删除 |
典型命令示例
# 运行 MySQL 容器并持久化数据
docker run -d --name mysql_db \
-v mysql_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=secret \
-p 3306:3306 \
mysql:8.0
# 进入容器调试
docker exec -it mysql_db mysql -u root -p
# 导出/导入镜像
docker save nginx > nginx.tar
docker load < nginx.tar
注意:生产环境避免使用
-f
(强制删除)和--privileged
(特权模式),可能引发安全风险。