Docker&Docker Complete常用命令大全
一、镜像(Image)管理
镜像就像是软件的安装包或模板。
命令 | 描述 | 示例 |
---|
docker images
docker image ls | 列出本地所有镜像 | docker images |
docker search <名称> | 从仓库搜索镜像 | docker search nginx |
docker pull <镜像名>:<标签> | 下载镜像(不指定标签则默认为 latest ) | docker pull nginx:alpine |
docker rmi <镜像ID或名> | 删除本地镜像 | docker rmi nginx |
docker image prune | 清理未被应用的镜像(悬空镜像) | docker image prune |
docker build -t <标签> . | 根据 Dockerfile 构建镜像(. 代表当前目录) | docker build -t my-app:1.0 . |
二、容器(Container)管理
容器是从镜像运行起来的实例。
命令 | 描述 | 示例 |
---|
docker run [选项] <镜像> | 创建并启动一个新容器 | docker run -d -p 80:80 nginx |
docker start <容器名/ID> | 启动一个已停止的容器 | docker start my_nginx |
docker stop <容器名/ID> | 停止一个运行中的容器(优雅停止) | docker stop my_nginx |
docker restart <容器名/ID> | 重启容器 | docker restart my_nginx |
docker rm <容器名/ID> | 删除一个已停止的容器 | docker rm my_nginx |
docker container prune | 删除所有已停止的容器 | docker container prune |
docker ps | 列出正在运行的容器 | docker ps |
docker ps -a | 列出所有容器(包括已停止的) | docker ps -a |
docker logs <容器名/ID> | 查看容器的日志输出 | docker logs my_nginx |
docker logs -f <容器名/ID> | 实时跟踪(跟随)日志输出 | docker logs -f my_nginx |
docker exec -it <容器名/ID> <命令> | 在运行中的容器内执行命令 | docker exec -it my_nginx /bin/bash |
三、网络(Network)管理
命令 | 描述 | 示例 |
---|
docker network ls | 列出所有网络 | docker network ls |
docker network create <网络名> | 创建一个新网络 | docker network create my_net |
docker network inspect <网络名> | 查看网络详细信息 | docker network inspect bridge |
四、数据卷(Volume)管理
数据卷用于持久化存储信息。
命令 | 描述 | 示例 |
---|
docker volume ls | 列出所有数据卷 | docker volume ls |
docker volume create <卷名> | 创建一个数据卷 | docker volume create my_data |
docker volume rm <卷名> | 删除一个数据卷 | docker volume rm my_data |
docker volume prune | 清理未被使用的数据卷 | docker volume prune |
五、系统与信息
命令 | 描述 | 示例 |
---|
docker info | 显现 Docker 系统信息 | docker info |
docker version | 展示 Docker 版本信息 | docker version |
docker stats | 实时显示容器资源使用统计 | docker stats |
docker system df | 查看 Docker 磁盘利用情况 | docker system df |
六、Docker Compose 常用命令
用于管理多容器应用。
命令 | 描述 | 示例 |
---|
docker compose up | 创建并启动所有服务 | docker compose up |
docker compose up -d | 在后台创建并启动所有服务 | docker compose up -d |
docker compose down | 停止并删除所有容器、网络 | docker compose down |
docker compose ps | 列出本项目下的所有容器 | docker compose ps |
docker compose logs | 查看所有服务的日志 | docker compose logs |
docker compose logs -f <服务名> | 实时跟踪特定服务的日志 | docker compose logs -f web |
docker compose exec <服务名> <命令> | 在指定服务的容器中执行命令 | docker compose exec db mysql -u root -p |
命令中的常用选项(Flags)释义
选项 | 全称 | 含义 | 示例 |
---|
-d | --detach | 后台运行容器 | docker run -d nginx |
-it | -i -t | 交互式运行(分配伪终端,通常与 /bin/bash 连用) | docker run -it ubuntu /bin/bash |
-p | --publish | 端口映射(主机端口:容器端口) | docker run -p 8080:80 nginx |
-v | --volume | 挂载数据卷或目录 | docker run -v /host/data:/container/data nginx |
-e | --env | 设置环境变量 | docker run -e MY_VAR=value nginx |
--name | | 为容器指定一个名称 | docker run --name my_nginx nginx |
--rm | | 容器退出时自动删除(常用于测试) | docker run --rm alpine echo "hello" |
最常用命令总结(飞快上手)
- 看状态:
docker ps
(看容器), docker images
(看镜像) - 拉镜像:
docker pull <名字>
- 启容器:
docker run -d -p ... --name ... <镜像名>
- 停容器:
docker stop <名字>
- 进容器:
docker exec -it <名字> /bin/bash
- 看日志:
docker logs -f <名字>
- 删容器:
docker rm <名字>
- 删镜像:
docker rmi <名字>
建议: 将这份列表保存下来,作为日常操控的速查手册。