Docker 常用命令可按功能分为镜像管理、容器管理、网络管理、数据卷管理等类别,以下是最常用的核心命令整理:
一、镜像管理(Image)
命令 | 功能 | 示例 |
---|
docker images | 列出本地所有镜像 | docker images (-a 显示所有,-q 只显示ID) |
docker pull <镜像名:标签> | 拉取远程镜像 | docker pull nginx:latest |
docker push <镜像名:标签> | 推送镜像到仓库 | docker push myrepo/nginx:v1 |
docker rmi <镜像名/ID> | 删除本地镜像 | docker rmi nginx:latest (-f 强制删除) |
docker build -t <镜像名:标签> <Dockerfile路径> | 从 Dockerfile 构建镜像 | docker build -t myapp:v1 . (. 表示当前目录) |
docker tag <原镜像> <新镜像名:标签> | 给镜像打标签 | docker tag nginx:latest mynginx:v1 |
docker inspect <镜像名/ID> | 查看镜像详细信息 | docker inspect nginx:latest |
二、容器管理(Container)
命令 | 功能 | 示例 |
---|
docker run [选项] <镜像名> [命令] | 创建并启动容器 | docker run -d -p 80:80 --name mynginx nginx (-d 后台运行,-p 端口映射,--name 命名) |
docker ps | 列出运行中的容器 | docker ps (-a 显示所有容器,-q 只显示ID) |
docker start <容器名/ID> | 启动已停止的容器 | docker start mynginx |
docker stop <容器名/ID> | 停止运行中的容器 | docker stop mynginx |
docker restart <容器名/ID> | 重启容器 | docker restart mynginx |
docker rm <容器名/ID> | 删除容器 | docker rm mynginx (-f 强制删除运行中的容器) |
docker exec -it <容器名/ID> <命令> | 进入运行中的容器(交互模式) | docker exec -it mynginx /bin/bash (-it 保持交互) |
docker logs <容器名/ID> | 查看容器日志 | docker logs -f mynginx (-f 实时跟踪) |
docker inspect <容器名/ID> | 查看容器详细信息 | docker inspect mynginx |
docker cp <本地文件> <容器名:路径> | 复制文件到容器 | docker cp index.html mynginx:/usr/share/nginx/html/ |
docker cp <容器名:路径> <本地文件> | 从容器复制文件到本地 | docker cp mynginx:/etc/nginx/nginx.conf ./ |
三、网络管理(Network)
命令 | 功能 | 示例 |
---|
docker network ls | 列出所有网络 | docker network ls |
docker network create <网络名> | 创建网络(默认 bridge 类型) | docker network create mynet |
docker network connect <网络名> <容器名> | 将容器连接到网络 | docker network connect mynet mynginx |
docker network disconnect <网络名> <容器名> | 断开容器与网络的连接 | docker network disconnect mynet mynginx |
docker network rm <网络名> | 删除网络 | docker network rm mynet |
四、数据卷管理(Volume)
命令 | 功能 | 示例 |
---|
docker volume ls | 列出所有数据卷 | docker volume ls |
docker volume create <卷名> | 创建数据卷 | docker volume create myvol |
docker volume inspect <卷名> | 查看数据卷详情(如挂载路径) | docker volume inspect myvol |
docker volume rm <卷名> | 删除数据卷 | docker volume rm myvol |
docker run -v <卷名:容器路径> ... | 启动容器时挂载数据卷 | docker run -d -v myvol:/data nginx |
五、其他常用命令
命令 | 功能 | 示例 |
---|
docker info | 查看 Docker 系统信息(如加速器、驱动等) | docker info |
docker version | 查看 Docker 版本信息 | docker version |
docker system df | 查看 Docker 磁盘使用情况 | docker system df |
docker system prune | 清理无用资源(停止的容器、未使用的镜像等) | docker system prune -a (-a 包括未使用的镜像) |
高频场景示例
- 启动一个带端口映射的 Nginx 容器:
docker run -d -p 8080:80 --name mynginx nginx
- 进入容器内部操作:
docker exec -it mynginx /bin/bash
- 删除所有已停止的容器:
docker rm $(docker ps -aq --filter "status=exited")
- 构建并推送镜像到仓库:
docker build -t myrepo/app:v1 . && docker push myrepo/app:v1
这些命令覆盖了日常使用 Docker 的绝大多数场景,熟练掌握后可高效管理镜像、容器及相关资源。