docker常用指令的实现示例
作者:hakukun
一、镜像管理指令
docker pull [镜像名]:[标签]
功能:从远程镜像仓库(默认 Docker Hub)下载镜像到本地。
目的:获取运行容器所需的基础环境(如操作系统、应用服务等),避免本地重复构建。
示例:docker pull nginx:latest 拉取最新版本的 Nginx 镜像。
docker images / docker image ls
功能:列出本地已下载的所有镜像,包含镜像名称、标签、ID、创建时间和大小。
目的:查看本地镜像资源,确认是否已存在所需镜像,避免重复拉取。
docker rmi [镜像ID/镜像名] / docker image rm
功能:删除本地指定的镜像。
目的:清理无用镜像,释放磁盘空间(注意:需先删除依赖该镜像的所有容器)。
docker build -t [镜像名]:[标签] [路径]
功能:根据指定路径下的 Dockerfile 构建自定义镜像。
目的:将应用程序及其依赖打包成可移植的镜像,确保环境一致性。
关键参数:-t 用于给镜像命名和打标签,方便后续识别和使用
二、容器操作指令
docker run [选项] [镜像名] [命令]
功能:基于指定镜像创建并启动一个新容器。
核心目的:运行应用程序的实例,通过选项配置容器的运行方式。
关键选项解析:
-it:以交互式终端模式运行(如进入容器内部操作)。
-d:后台守护模式运行(适合长期运行的服务,如 Web 服务器)。
-p 主机端口:容器端口:将容器内的端口映射到主机,实现外部访问(如 -p 80:80 使主机 80 端口对应容器内的 Nginx 服务)。
-v 主机路径:容器路径:将主机目录挂载到容器,实现数据持久化(如数据库数据存储在主机,避免容器删除后数据丢失)。
--name:给容器指定名称,方便后续操作(替代冗长的容器 ID)。
docker ps / docker ps -a
功能:docker ps 列出当前运行中的容器;docker ps -a 列出所有容器(包括已停止的)。
目的:查看容器状态(运行 / 停止)、ID、名称、端口映射等信息,用于管理和排查问题。
docker start/stop/restart [容器ID/名称]
功能:分别用于启动已停止的容器、停止运行中的容器、重启容器。
目的:灵活控制容器生命周期,例如服务升级后重启容器生效,或临时停止不需要的服务节省资源。
docker exec -it [容器ID/名称] [命令]
功能:在运行中的容器内执行指定命令(通常用 bash 进入交互式终端)。
目的:临时进入容器调试(如查看日志、修改配置),不影响容器本身的运行状态(退出后容器继续运行)。
docker rm [容器ID/名称] / docker rm -f
功能:删除指定容器(-f 强制删除运行中的容器)。
目的:清理无用容器(如测试完成的临时容器),释放系统资源。
docker logs [容器ID/名称] / docker logs -f
功能:查看容器运行日志;-f 实时跟踪日志输出(类似 tail -f)。
目的:排查应用程序错误(如服务启动失败、运行时异常),监控容器运行状态。
三、数据卷管理指令
docker volume create [卷名]
功能:创建一个独立于容器的持久化数据卷(由 Docker 管理存储路径)。
目的:解决容器数据临时存储的问题(容器删除后数据不丢失),适用于数据库、配置文件等需要持久化的数据。
docker volume ls / docker volume inspect [卷名]
功能:ls 列出所有数据卷;inspect 查看指定卷的详细信息(如实际存储路径)。
目的:管理数据卷资源,确认数据卷是否存在及存储位置。
docker volume rm [卷名] / docker volume prune
功能:rm 删除指定数据卷;prune 清理所有未被容器使用的数据卷。
目的:删除无用数据卷,释放磁盘空间(注意:数据卷删除后数据不可恢复)。
四、网络管理指令
docker network create [网络名]
功能:创建自定义网络(默认使用桥接模式)。
目的:实现容器间的隔离与通信,例如将前端、后端、数据库容器加入同一网络,使它们可通过容器名互相访问。
docker network ls / docker network inspect [网络名]
功能:ls 列出所有网络;inspect 查看网络详情(如包含的容器、IP 配置等)。
目的:管理网络资源,确认容器的网络连接状态。
docker network connect [网络名] [容器名]
功能:将指定容器连接到目标网络。
目的:灵活配置容器的网络环境,例如让一个容器同时加入多个网络,实现与不同服务的通信。
五、其他核心指令
docker info / docker version
功能:info 显示 Docker 系统的详细信息(如容器 / 镜像数量、存储驱动、网络模式等);version 显示 Docker 客户端和服务端的版本。
目的:检查 Docker 环境是否正常,确认版本兼容性(如某些指令仅支持特定版本)。
docker inspect [容器ID/容器名]
功能:查看容器的完整配置信息(JSON 格式),包含所有启动时的参数(如端口映射、挂载目录、环境变量、网络模式等)。
目的:查看容器详情。
docker system prune / docker system prune -a
功能:prune 清理未使用的容器、网络、悬挂镜像(未打标签的镜像);-a 额外清理未被使用的镜像。
目的:一键释放磁盘空间(谨慎使用,确保清理的资源确实无用)。
docker commit [旧容器ID/名] [新镜像名]:[标签]
功能:将旧容器导出为新镜像。
目的:保留容器内的环境和配置(后续可以基于新镜像用新指令启动容器,尤其用于复杂环境,但镜像体积变大、继承旧容器冗余)。
docker save / docker load
功能:save -o [文件] [镜像] 将镜像导出为本地 tar 文件;load -i [文件] 从 tar 文件导入镜像。
目的:在无网络环境中传输镜像(如离线部署),或备份重要镜像。
到此这篇关于docker常用指令的实现示例的文章就介绍到这了,更多相关docker常用指令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
