一、镜像(Image)相关命令
| 命令 | 说明 |
|---|
docker images | 列出本地所有镜像 |
docker pull <image> | 从仓库拉取镜像(如docker pull nginx) |
docker build -t [name:tag](name:tag) . | 从当前目录的 Dockerfile 构建镜像 |
docker rmi <image> | 删除指定镜像(可加-f强制删除) |
docker tag <src_image> <target_image> | 给镜像打标签(如docker tag myapp:latest myrepo/myapp:v1) |
docker push <image> | 将镜像推送到远程仓库 |
docker history <image> | 查看镜像构建历史 |
docker save -o <file.tar> <image> | 导出镜像为 tar 文件 |
docker load -i <file.tar> | 从 tar 文件导入镜像 |
二、容器(Container)相关命令
| 命令 | 说明 |
|---|
docker ps | 列出正在运行的容器 |
docker ps -a | 列出所有容器(包括已停止的) |
docker run [OPTIONS] <image> | 启动一个新容器 常用选项:
-d后台运行
-it交互式终端
-p host:container端口映射
-v /host:/container挂载卷
--name name指定容器名 |
docker start <container> | 启动已停止的容器 |
docker stop <container> | 停止运行中的容器(优雅停止) |
docker kill <container> | 强制终止容器 |
docker restart <container> | 重启容器 |
docker rm <container> | 删除已停止的容器(加-f可删运行中容器) |
docker exec -it <container> /bin/bash | 进入运行中的容器执行命令 |
docker logs <container> | 查看容器日志(加-f实时跟踪) |
docker cp <src> <dst> | 在宿主机和容器之间复制文件(如docker cp file.txt container:/app/) |
docker inspect <container/image> | 查看容器或镜像的详细信息(JSON 格式) |
三、数据卷(Volume)相关命令
| 命令 | 说明 |
|---|
docker volume ls | 列出所有卷 |
docker volume create <name> | 创建一个新卷 |
docker volume inspect <name> | 查看卷详情 |
docker volume rm <name> | 删除卷 |
docker volume prune | 删除所有未被使用的卷 |
💡 容器挂载卷方式:
-
-v myvol:/path/in/container(命名卷)
-
-v /host/path:/container/path(绑定挂载)
四、网络(Network)相关命令
| 命令 | 说明 |
|---|
docker network ls | 列出所有网络 |
docker network create <name> | 创建自定义网络(推荐使用 bridge 类型) |
docker network connect <network> <container> | 将容器连接到指定网络 |
docker network disconnect <network> <container> | 断开容器与网络的连接 |
docker network inspect <network> | 查看网络详情 |
docker network rm <network> | 删除网络 |
默认网络驱动:bridge、host、none
五、系统与清理命令
| 命令 | 说明 |
|---|
docker system df | 显示磁盘使用情况(镜像、容器、卷等) |
docker system prune | 清理所有未使用的资源(容器、网络、构建缓存) |
docker system prune -a | 清理所有未使用的镜像(包括悬空和未被引用的) |
docker info | 显示 Docker 系统信息 |
docker version | 显示 Docker 客户端和服务端版本 |
六、实用组合命令示例
# 查看所有容器 IP 地址
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
# 运行并进入容器(如 Ubuntu)
docker run -it --rm ubuntu bash
# 后台运行 Web 服务并映射端口
docker run -d -p 8080:80 --name myweb nginx