Docker教程:docker基本使用命令
·
基本使用
镜像管理
- 获取镜像
通常从 Docker Hub 获取。
基本语法:
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
示例:
# 拉取 ubuntu 仓库中标签为 18.04 的镜像
docker pull ubuntu:18.04
#如果不指定标签,默认拉取 latest
docker pull ubuntu
- 列出镜像
查看本地已下载的镜像。
查看所有顶层镜像:
docker image ls
# 或者使用简写
docker images
查看所有镜像(包含中间层镜像):
docker image ls -a
列出特定镜像:
docker image ls ubuntu
只显示镜像 ID (常用于批量操作):
docker image ls -q
- 查看镜像体积与占用
查看镜像、容器、数据卷所占用的空间详情。
docker system df
- 虚悬镜像 (Dangling Images)
由于新旧镜像同名覆盖等原因,可能会产生没有仓库名、没有标签的镜像(<none>:<none>),称为虚悬镜像。
查看虚悬镜像:
docker image ls -f dangling=true
清理虚悬镜像 (安全删除):
docker image prune
- 删除镜像
删除指定镜像:
可以使用 镜像ID 或 镜像名:标签。
# 语法
docker image rm [选项] <镜像1> [<镜像2> ...]
# 或者简写
docker rmi <镜像ID>
注意:如果该镜像正在被某个容器使用(即使容器已停止),需要先删除容器,或添加 -f 强制删除。
容器操作
容器是镜像运行时的实体。
- 启动容器
docker run 是最常用的命令,它会先检查本地是否有指定镜像,没有则自动下载。
交互式运行 (用于测试或进入环境):
docker run -it --rm ubuntu:18.04 bash
-i:交互式操作。-t:分配一个伪终端。--rm:容器退出后立即自动删除(适合临时测试)。bash:启动后执行的命令。
后台运行 (用于服务部署):
docker run -d --name my-nginx -p 8080:80 nginx
-d:后台运行 (Detached mode)。--name:给容器起个名字。-p:端口映射 (宿主机端口:容器端口)。
- 查看容器状态
查看运行中的容器:
docker ps
查看所有容器 (包含已停止的):
docker ps -a
- 进入运行中的容器
如果容器在后台运行,需要进入容器内部进行操作:
docker exec -it <容器ID或名称> bash
# 或者 sh
docker exec -it <容器ID或名称> /bin/sh
exec:在运行的容器中执行命令。
- 停止与删除容器
停止容器:
docker stop <容器ID或名称>
删除容器 (必须先停止,或加 -f 强制删除):
docker rm <容器ID或名称>
清理所有已停止的容器:
docker container prune
命令速查
为了方便查找,将命令按功能分类整理:
- 镜像与构建
| 命令 | 描述 | 示例 |
|---|---|---|
docker pull | 从仓库拉取镜像 | docker pull ubuntu |
docker images | 列出本地镜像 | docker images |
docker build | 使用 Dockerfile 构建镜像 | docker build -t my-app:v1 . |
docker rmi | 删除镜像 | docker rmi my-app:v1 |
docker image prune | 删除虚悬镜像 | docker image prune |
docker history | 查看镜像构建历史 | docker history ubuntu |
- 容器生命周期
| 命令 | 描述 | 示例 |
|---|---|---|
docker run | 创建并启动容器 | docker run -d -p 80:80 nginx |
docker ps | 查看运行中的容器 | docker ps |
docker ps -a | 查看所有容器 | docker ps -a |
docker start | 启动已停止的容器 | docker start my-con |
docker stop | 停止运行中的容器 | docker stop my-con |
docker restart | 重启容器 | docker restart my-con |
docker rm | 删除容器 | docker rm my-con |
- 容器操作与调试
| 命令 | 描述 | 示例 |
|---|---|---|
docker exec | 在运行容器中执行命令 | docker exec -it my-con bash |
docker logs | 查看容器日志 (排错必备) | docker logs -f my-con |
docker inspect | 查看详细信息 (IP、挂载等) | docker inspect my-con |
docker stats | 查看实时资源使用情况 | docker stats |
docker cp | 容器与宿主机之间复制文件 | docker cp file.txt my-con:/tmp |
- 系统与网络
| 命令 | 描述 | 示例 |
|---|---|---|
docker network ls | 列出网络 | docker network ls |
docker volume ls | 列出数据卷 | docker volume ls |
docker system df | 查看磁盘使用情况 | docker system df |
docker info | 显示系统详细信息 | docker info |
docker login/logout | 登录/登出仓库 | docker login |
- Docker Compose
| 命令 | 描述 | 示例 |
|---|---|---|
docker-compose up | 启动并运行服务 | docker-compose up -d |
docker-compose down | 停止并移除资源 | docker-compose down |
docker-compose logs | 查看服务日志 | docker-compose logs -f |
常用参数说明
| 参数 | 全称 | 说明 |
|---|---|---|
-d | --detach | 后台运行容器,并返回容器 ID。 |
-i | --interactive | 交互模式,保持 STDIN 打开。 |
-t | --tty | 分配一个伪终端 (Pseudo-TTY)。通常与 -i 连用。 |
--rm | --rm | 容器退出时自动删除容器文件系统。 |
-p | --publish | 端口映射,格式 宿主机端口:容器端口。 |
-v | --volume | 挂载数据卷,格式 宿主机路径:容器路径。 |
-e | --env | 设置环境变量,例如 -e MYSQL_ROOT_PASSWORD=123456。 |
更多推荐

所有评论(0)