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 的技能。如果有任何疑问或建议,欢迎在评论区留言讨论!

相关推荐
李菠菜1 小时前
CentOS系统指定版本Docker与Docker-Compose在线安装教程
docker·容器·centos
包达叔1 小时前
dockercompose文件仓库
docker
李菠菜5 小时前
Kubernetes上通过Helm部署高可用Redis集群
docker·容器·kubernetes
李菠菜6 小时前
修改KubeSphere外网访问端口
docker·容器·kubernetes
福大大架构师每日一题6 小时前
docker v28.1.1 正式发布!修复关键Bug,网络与安全性再升级
网络·docker·bug
一个小坑货6 小时前
Docker 部署 PostgreSQL 数据库
数据库·docker·postgresql
残轩7 小时前
Win10 家庭版 Docker 环境搭建详解(基于 WSL2)
前端·后端·docker
David爱编程7 小时前
90%工程师都踩过的坑:K8s三种探针最佳组合方案全解析
docker·云原生·kubernetes
davysiao8 小时前
基于 CentOS 的 Docker Swarm 集群管理实战指南
linux·docker·centos
Archie_IT8 小时前
Puter部署指南:基于Docker的多功能个人云平台掌控自己的数据
运维·docker·容器