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

相关推荐
季春二九2 小时前
飞牛 fnos docker镜像部署OpenSpeedtest宽带网速测试教程
docker·容器·飞牛nas
Kali_072 小时前
CodeBook-Ubuntu-sandbox Linux 沙箱服务 docker pull
linux·ubuntu·docker
Happy_Lzy2 小时前
Docker之mysql主从复制
数据库·mysql·docker
王同学要变强3 小时前
docker login 出错 Error response from daemon
运维·docker·容器
咖啡虫3 小时前
学习 Dockerfile 常用指令
docker
roman_日积跬步-终至千里3 小时前
【Neo4J】neo4j docker容器下的备份与恢复
docker·容器·neo4j
vvw&6 小时前
如何在 Rocky Linux 上安装 Docker Swarm 集群
linux·运维·服务器·docker·容器·集群·docker swarm
duration~8 小时前
基于Docker容器DevOps应用方案
docker·容器·devops
海绵波波1078 小时前
ModelScope-Agent(3):docker启动
docker·容器·eureka