Docker 常用命令大全

Docker 常用命令大全

Docker 是一种开源的应用容器引擎,广泛应用于开发、部署和运行分布式应用。掌握 Docker 常用命令对于开发人员和运维人员来说非常重要。本文将为大家整理常用的 Docker 命令,并按照功能分为多个部分,帮助你高效使用 Docker。


1. 安装与版本管理

1.1 检查 Docker 版本

bash 复制代码
docker --version

用于查看当前安装的 Docker 版本。

1.2 检查 Docker 服务状态

bash 复制代码
docker info

显示 Docker 系统的详细信息,帮助你了解 Docker 的运行状态。

1.3 启动/停止 Docker 服务 (Linux)

bash 复制代码
# 启动 Docker 服务
sudo systemctl start docker

# 停止 Docker 服务
sudo systemctl stop docker

# 重启 Docker 服务
sudo systemctl restart docker

2. 镜像管理

2.1 拉取镜像

bash 复制代码
docker pull <镜像名>:<标签>

例如,拉取最新的 nginx 镜像:

bash 复制代码
docker pull nginx:latest

2.2 查看本地镜像

bash 复制代码
docker images

列出所有本地 Docker 镜像。

2.3 搜索镜像

bash 复制代码
docker search <关键词>

例如,搜索 Redis 镜像:

bash 复制代码
docker search redis

2.4 删除镜像

bash 复制代码
docker rmi <镜像ID或名称>

删除指定镜像。如果镜像被容器使用,则需要先删除相关容器。

2.5 构建镜像

bash 复制代码
docker build -t <镜像名>:<标签> .

通过 Dockerfile 构建镜像。

2.6 导出和导入镜像

bash 复制代码
# 导出镜像
docker save -o <文件名>.tar <镜像名>

# 导入镜像
docker load -i <文件名>.tar

3. 容器管理

3.1 启动容器

bash 复制代码
docker run <镜像名>

例如,从 nginx 镜像启动一个容器:

bash 复制代码
docker run nginx

3.2 启动并后台运行容器

bash 复制代码
docker run -d <镜像名>

例如,后台运行 Redis:

bash 复制代码
docker run -d redis

3.3 查看正在运行的容器

bash 复制代码
docker ps

列出当前运行的所有容器。

3.4 查看所有容器(包括已停止的)

bash 复制代码
docker ps -a

3.5 删除容器

bash 复制代码
docker rm <容器ID或名称>

删除一个容器。如果容器正在运行,需要先停止再删除。

3.6 停止容器

bash 复制代码
docker stop <容器ID或名称>

停止正在运行的容器。

3.7 进入容器

bash 复制代码
docker exec -it <容器ID或名称> /bin/bash

进入容器的交互式终端。

3.8 查看容器日志

bash 复制代码
docker logs <容器ID或名称>

查看容器的标准输出日志。

3.9 容器导出和导入

bash 复制代码
# 导出容器为 tar 文件
docker export <容器ID> -o <文件名>.tar

# 从 tar 文件导入
docker import <文件名>.tar <镜像名>

4. 网络管理

4.1 查看网络列表

bash 复制代码
docker network ls

列出所有 Docker 网络。

4.2 创建网络

bash 复制代码
docker network create <网络名>

4.3 删除网络

bash 复制代码
docker network rm <网络名>

4.4 将容器连接到网络

bash 复制代码
docker network connect <网络名> <容器名>

4.5 将容器从网络断开

bash 复制代码
docker network disconnect <网络名> <容器名>

4.6 查看网络详情

bash 复制代码
docker network inspect <网络名>

5. 数据卷管理

5.1 查看数据卷

bash 复制代码
docker volume ls

列出所有数据卷。

5.2 创建数据卷

bash 复制代码
docker volume create <数据卷名>

5.3 删除数据卷

bash 复制代码
docker volume rm <数据卷名>

5.4 查看数据卷的详细信息

bash 复制代码
docker volume inspect <数据卷名>

5.5 挂载数据卷到容器

bash 复制代码
docker run -v <数据卷名>:/path/in/container <镜像名>

6. 日志与调试

6.1 查看容器的日志

bash 复制代码
docker logs <容器ID或名称>

查看容器的标准输出和错误日志。

6.2 实时查看容器日志

bash 复制代码
docker logs -f <容器ID或名称>

实时输出容器的日志信息。

6.3 查看容器的资源使用情况

bash 复制代码
docker stats <容器ID或名称>

显示容器的实时资源使用情况(如 CPU、内存等)。

6.4 查看容器的详细信息

bash 复制代码
docker inspect <容器ID或名称>

查看容器的详细配置信息。


7. 系统管理与清理

7.1 查看 Docker 系统信息

bash 复制代码
docker info

显示 Docker 的系统信息,包括容器、镜像、网络、存储等的统计信息。

7.2 清理未使用的镜像、容器、数据卷和网络

bash 复制代码
docker system prune -f

清理 Docker 系统中的未使用资源,释放磁盘空间。-f 参数表示跳过确认提示。

7.3 清理未使用的镜像

bash 复制代码
docker image prune -a -f

删除所有未被任何容器使用的镜像。

7.4 清理未使用的容器

bash 复制代码
docker container prune -f

删除所有已停止的容器。

7.5 清理未使用的数据卷

bash 复制代码
docker volume prune -f

删除所有未被容器使用的数据卷。

7.6 清理未使用的网络

bash 复制代码
docker network prune -f

删除所有未被容器使用的网络。


8. 常用组合命令

8.1 清理所有未使用的资源(镜像、容器、卷、网络)

bash 复制代码
docker system prune -af --volumes

8.2 停止并删除所有容器

bash 复制代码
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)

8.3 删除所有未使用的镜像、网络和卷

bash 复制代码
docker image prune -a -f && docker volume prune -f && docker network prune -f

结语

通过掌握这些常用的 Docker 命令,你可以更高效地管理 Docker 环境,优化工作流程,提升开发与运维效率。随着项目的规模不断扩大,合理地管理 Docker 容器和镜像资源变得至关重要。希望本文的总结对你有所帮助,进一步提升你使用 Docker 的技能。如果有任何疑问或建议,欢迎在评论区留言讨论!

相关推荐
hjxu20162 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
Stewie121385 小时前
Docker 面试题
运维·docker·容器
vpk1125 小时前
Docker Compose 安装 Redis
redis·docker·容器
last demo7 小时前
Docker-compose和图形界面管理
docker·容器·eureka
好像不对劲9 小时前
【docker】win10 wsl docker不能挂GPU
运维·docker·容器·wsl
江畔何人初9 小时前
Docker、containerd、CRI、shim 之间的关系
运维·docker·云原生·容器·kubernetes
杨浦老苏10 小时前
在线视频播放器YT-DLP Web Player
docker·工具·群晖·下载·多媒体
ALex_zry10 小时前
Docker Compose 配置文件完全指南:从基础到生产级安全实践
服务器·安全·docker
万象.11 小时前
docker镜像仓库
运维·docker·容器
姚不倒12 小时前
Docker 核心原理与运维实战:从入门到生产级理解
运维·docker·架构