侧边栏壁纸
博主头像
星宇云社区 博主等级

行动起来,活在当下

  • 累计撰写 36 篇文章
  • 累计创建 15 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

Docker 实用指南:从基础命令到进阶技巧,提升你的容器管理效率

kkdshire
2025-07-31 / 0 评论 / 4 点赞 / 55 阅读 / 0 字
温馨提示:
本文最后更新于2025-07-31,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在容器化技术飞速发展的今天,Docker 已成为开发者和运维人员不可或缺的工具。它通过轻量级的容器实现了应用的快速部署、测试和迁移,但想要熟练驾驭 Docker,掌握实用的命令技巧至关重要。

Docker 是一种开源的容器化平台,它通过将应用程序及其所有依赖项打包到一个独立的、可移植的单元中,实现了 “一次构建,随处运行” 的目标。这种技术不仅能大幅简化应用的部署流程,还能有效隔离不同应用间的运行环境,避免因依赖冲突导致的故障。无论是开发测试、持续集成 / 持续部署(CI/CD),还是生产环境的高效运维,Docker 都已成为现代软件开发与交付过程中不可或缺的工具。

一.高频基础命令详解

对于 Docker 初学者或日常高频使用场景,掌握以下基础命令能快速上手并完成大部分常规操作。这些命令覆盖了镜像获取、容器创建、状态查看等核心场景,是 Docker 使用的 "必备工具箱"。

1.1镜像相关基础命令

镜像是Docker 容器运行的基础,它包含了运行一个应用程序所需的所有元素,如代码、运行时环境、系统工具、系统库和设置等。镜像采用分层存储的方式构建,每一层都是在前一层的基础上进行修改,这种设计不仅节省了磁盘空间,还能在多个容器间共享相同的镜像层,提升部署效率。当你基于某个镜像创建容器时,实际上是在镜像的顶层添加了一个可读写层,所有对容器的修改都发生在这一层,而底层的镜像层始终保持不变,从而确保了应用环境的一致性和可重复性

1.1.1镜像拉取

命令:docker pull [镜像名称]:[标签]
功能:从远程仓库拉取镜像到本地
示例

l  拉取最新版本:docker pull ubuntu

l  拉取指定版本:docker pull python:3.9(推荐生产环境使用,避免latest标签的版本不稳定问题)

docker pull python:3.9

1.1.2查看本地镜像

命令:docker images [镜像名称]
功能:显示本地镜像列表及详细信息(仓库名、标签、ID、大小等)
示例:

l  查看所有镜像:

docker images

l  过滤查看特定镜像:

docker images nginx

1.1.3镜像删除

命令:docker rmi [镜像ID/镜像名:标签]
功能:删除本地指定镜像

说明:若镜像已被容器使用,需先删除关联容器,否则删除失败。
示例

l  删除指定标签镜像:docker rmi nginx:1.23

docker rmi nginx:1.23

l  强制删除(需谨慎):

docker rmi -f 7e4d58f0e5f3(镜像 ID)

1.1.4镜像拉取

l   命令:docker pull 镜像名:版本号

示例:docker pull nginx:1.23就能明确拉取 nginx 1.23 版本。

docker pull nginx:1.23

1.2容器核心操作命令

1.2.1创建并启动容器

命令:docker run [参数] [镜像名]
功能:基于指定镜像创建并启动容器
常用参数

l  -it:创建交互式终端(如进入容器操作)

l  -d:后台运行容器

l  -p [宿主端口]:[容器端口]:端口映射

l  --name [名称]:指定容器名称

l  -v [宿主路径]:[容器路径]:挂载数据卷
示例

l  交互式启动:docker run -it ubuntu /bin/bash

docker run -it ubuntu /bin/bash

l  后台启动并配置:docker run -d -p 8080:80 --name mynginx -v /data/nginx:/usr/share/nginx/html nginx:1.23

docker run -d -p 8080:80 --name mynginx -v /data/nginx:/usr/share/nginx/html nginx:1.23

1.2.2查看容器状态

命令:docker ps [参数]
功能:查看容器运行状态
常用参数:

l  无参数:显示运行中容器

l  -a:显示所有容器(含已停止)

l  -q:仅输出容器 ID(用于批量操作)
示例:

l  查看所有容器:

docker ps -a

l  获取所有容器 ID:

docker ps -aq

1.2.3容器启停控制

l  启动容器:docker start [容器ID/名称]
示例:

docker start mycontainer

l  停止容器:docker stop [容器ID/名称]
示例:

docker stop mycontainer

l  重启容器:docker restart [容器ID/名称]
示例:

docker restart mycontainer

1.2.4进入运行中容器

命令:docker exec -it [容器ID/名称] [shell]
功能:在运行中的容器内创建交互式终端
示例:

l  进入 bash 终端:

docker exec -it mynginx /bin/bash

l  轻量容器(无 bash):

docker exec -it alpine /bin/sh

1.2.5删除容器

命令:docker rm [容器ID/名称]
功能:删除指定容器
示例

l  删除停止的容器:

docker rm mycontainer

l  强制删除运行中容器:

docker rm -f myrunningcontainer

1.3系统信息查看命令

l   命令:

docker info

功能:显示 Docker 系统详情(版本、容器 / 镜像数量、存储驱动、硬件配置等)

l   命令:

docker version

功能:查看客户端与服务端版本信息(版本号、API 版本等)

 

二.镜像管理实用技巧

镜像作为容器的基石,其高效管理直接影响 Docker 的使用体验。

2.1镜像清理

l   删除悬空镜像:

docker image prune

l   删除所有未使用镜像(谨慎):

docker image prune -a

l   全面清理(含网络、卷):

docker system prune -a

!绝对确认没有重要的未使用镜像。

2.2镜像构建

l   使用.dockerignore文件排除冗余文件(如.git、node_modules),减小镜像体积。

l   采用多阶段构建(Dockerfile 中使用多个FROM指令),仅保留运行必需文件。

l   docker build [选项] <构建上下文路径>(基于 Dockerfile 构建镜像

常用参数

-t <镜像名:标签>:指定镜像名称和标签,如-t myapp:v1.0

-f <Dockerfile路径>:指定非默认路径的 Dockerfile,如-f ./build/Dockerfile

--no-cache:不使用缓存,强制重新构建所有层

--build-arg:传递构建时变量,如--build-arg VERSION=1.0

示例:

docker build -t webapp:latest .

l   docker commit [选项] <容器ID或名称> <新镜像名:标签>(基于容器状态创建镜像

常用参数:

-m "<提交信息>":添加镜像描述信息

-a "<作者信息>":指定镜像作者

--change <Dockerfile指令>:提交时应用 Dockerfile 指令(如--change "EXPOSE 8080")

示例:# 将运行中的容器mycontainer创建为新镜像

docker commit -m "添加自定义配置" -a "dev-team" mycontainer custom-nginx:v1.1

2.3查看镜像详细信息

l   查看镜像标签:

docker inspect --format '{{.RepoTags}}' [镜像ID]

l   查看镜像大小:

docker inspect --format '{{.Size}}' [镜像ID]

三.容器操作进阶技巧

3.1日志查看

l   基础查看:

docker logs [容器名]

l   实时跟踪 + 时间戳 + 指定行数:

docker logs -ft --tail 200 [容器名]

3.2容器暂停与恢复

l   暂停进程:

docker pause [容器名]

l   恢复运行:

docker unpause [容器名]

3.3配置修改方案

l   若需修改容器配置(如端口映射),可通过以下步骤实现:

将容器保存为新镜像:docker commit [容器ID] [新镜像名]

基于新镜像创建容器并配置新参数:docker run [新参数] [新镜像名]

 

四.效率工具与最佳实践

4.1命令别名

设置能简化重复操作,输入时无需重复敲写冗长命令。

l   在.bashrc或.zshrc中添加别名,简化输入:

alias dk='docker 
alias dkp= 'docker ps 
alias dkrm= docker rm 
alias dki= docker images 

l   生效命令:

source ~/.bashrc

4.2使用 Docker Compose 管理多容器应用

l   通过docker-compose.yml定义服务、网络、卷

l   启动:

docker-compose up -d

l   停止并清理:

docker-compose down

4.3定期备份重要数据卷和镜像

l   镜像备份:

docker save -o [备份文件.tar] [镜像名]

l   镜像恢复:

docker load -i [备份文件.tar]

l   数据卷备份:

 tar -cvf [备份.tar] /var/lib/docker/volumes/[卷名]/_data

Docker 的世界远不止这些基础操作,随着使用深入,你会发现更多实用技巧。记住,高效使用 Docker 的关键在于理解其核心概念,结合实际场景灵活运用命令,并养成良好的管理习惯。希望本文分享的小 tips 能帮助你在容器化之路上走得更顺畅,让 Docker 真正成为提升工作效率的利器。

4

评论区