Docker常用命令

重点说明:以下所有命令,都是我实际练过、,主打一个好记、实用,不用死记硬背,结合场景记,练个2-3遍就能记住。

一、镜像相关

镜像就相当于容器的"模板",运行容器之前必须有镜像,这部分是基础中的基础。

  1. 查看本地所有镜像 docker images 最简单也最常问,直接输这个命令,就能看到本地所有镜像的ID、名称、版本,没什么技巧,记准命令就行。

  2. 拉取镜像(从仓库下载,练手必用) docker pull nginx # 拉取nginx最新版本**docker pull nginx:1.21** # 拉取指定版本,平时练手用nginx最多,

  3. 删除镜像 docker rmi 镜像ID/镜像名称 。注意!如果这个镜像正在运行容器,是删不掉的,得先停容器再删镜像。

  4. 构建镜像docker build -t myapp:v1 . -t是给镜像起名字+版本(比如myapp是名字,v1是版本),后面的"."绝对不能漏,代表当前目录的Dockerfile。

  5. 给镜像打标签(重命名,实用) docker tag nginx mynginx:v2 简单说就是给镜像换个好记的名字,比如把官方nginx镜像,改成自己能区分的名字,后续用起来方便,不用记长长的镜像ID。

  6. 搜索镜像(偶尔用)**docker search nginx**想找某个镜像的时候用,比如不知道镜像全名,搜一下就能看到,不用死记硬背镜像名称。


二、容器相关

容器就是镜像运行起来的实例,运维日常操作最多的就是容器,这部分命令一定要练到闭着眼能敲出来。

  1. 运行容器 **docker run -d --name mynginx -p 80:80 nginx**拆解一下(面试会让你解释每个参数):-d是后台运行(不然你关了终端,容器就停了),--name是给容器起名字(比如mynginx,方便后续操作),-p是端口映射(宿主机80端口映射到容器80端口),后面跟镜像名称。

  2. 查看运行中的容器 docker ps 简单好记,输完就能看到正在运行的容器,面试必问,和docker images搭配着考。

  3. 查看所有容器 **docker ps -a**注意:不加-a只能看到运行中的。

  4. 启动/停止/重启容器 **docker start 容器ID/容器名称 docker stop 容器ID/容器名称 docker restart 容器ID/容器名称**这三个命令放一起记,逻辑很简单,启动就是start,停止就是stop,重启就是restart,后面跟容器ID或名字都可以,推荐用名字,不用记长长的ID。

  5. 删除容器**docker rm 容器ID/容器名称注意:停止的容器才能删,运行中的删不掉,想强制删就加-f参数:docker rm -f 容器ID**。

  6. 暂停/恢复容器**docker pause 容器ID docker unpause 容器ID** 暂停就是暂停容器运行,恢复就是继续运行,不用死记,知道有这个命令就行。


三、进入容器内部

工作中经常需要进入容器内部查看文件、执行命令,这两个命令一定要记牢,面试必问"怎么进入运行中的容器"!

  1. 交互式进入容器(最常用)docker exec -it 容器ID /bin/bash 拆解:-it是交互式进入,能输入命令,/bin/bash是进入容器的终端,输完这个命令,就相当于进入了容器内部,能操作里面的文件、执行命令。

  2. 直接在容器内执行命令(不用进入) **docker exec 容器ID ls /**比如想查看容器根目录的文件,不用进入容器,直接输这个命令就行,实用又高效。


四、日志、资源查看

运维日常要排查问题,查看日志、资源占用是必备操作。

  1. 查看容器日志**docker logs 容器ID docker logs -f 容器ID**# 实时跟踪日志(排查问题必用) -f参数很重要,能实时看到容器的日志输出,比如容器启动失败,用这个命令就能看到报错信息。

  2. 查看容器详细信息**docker inspect 容器ID/镜像名** 能看到容器的所有详细信息,比如端口映射、挂载目录、网络配置等。

  3. 查看容器资源占用 **docker stats**输完就能看到所有运行中容器的CPU、内存占用情况。


五、数据卷与挂载

容器删除后,里面的数据会丢失,所以数据持久化很重要,数据卷和挂载就是解决这个问题的。

  1. 挂载宿主机目录(最常用) **docker run -v /宿主机目录:/容器目录 nginx**比如把宿主机的/data目录,挂载到容器的/data目录,这样容器里的数据会同步到宿主机,就算容器删了,宿主机的数据还在。

  2. 创建数据卷**docker volume create myvol**数据卷是Docker管理的存储目录,比直接挂载宿主机目录更规范,

  3. 查看所有数据卷 **docker volume ls**简单好记,查看本地创建的所有数据卷,知道就行。


六、批量操作+清理

工作中经常需要批量操作容器、清理无用资源,这几个命令能省很多事。

  1. 停止所有运行中的容器**docker stop $(docker ps -q)** 不用一个个停止,一键停止所有运行中的容器,实用拉满,记准这个命令。

  2. 删除所有停止的容器**docker container prune** 清理无用容器,释放空间。

  3. 清理所有无用资源(镜像、容器、数据卷等)docker system prune docker system prune -a# 彻底清理(连没使用的镜像也删) 注意:-a参数会删除所有没使用的镜像,慎用!


七、Docker Compose

一般不会只运行一个容器,都是多个容器配合(比如nginx+mysql),Docker Compose就是管理多个容器的。

  1. 启动所有服务(后台运行) docker-compose up -d

  2. 停止所有服务(并删除容器) docker-compose down

  3. 查看所有服务日志**docker-compose logs -f**

  4. 重启单个服务(比如nginx) docker-compose restart nginx


最后说句真心话

希望这篇命令整理,能帮到和我一样的运维新手, 有补充的命令,欢迎评论区留言交流

相关推荐
Lonely 净土4 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
飞英思特无线充电5 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi5 小时前
利用nginx代理完成url重定位
运维·nginx
卷无止境6 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
liuyicenysabel6 小时前
多服务上线日记三:
运维·服务器·笔记·学习
一只鹿鹿鹿7 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
万里侯9 小时前
GitOps 2026年演进趋势:从配置管理到环境即代码的范式转移及Pull vs Push模型的再思考
微服务·容器·k8s
acd120099 小时前
一次线上OOM排查实录:从jmap到代码重构,我踩过的坑全在这了
容器·重构·kubernetes
领创工作室9 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋10 小时前
目前可用的docker源2026.08
运维·docker·容器