docker基础命令
容器生命周期管理
1 2 3 4 5 6 7 8 9 10 | run 创建一个新容器并运行 start 开启一个容器并使其在后台运行 stop 停止一个容器 restart 重启一个容器 kill 杀掉一个容器进程 rm 删除容器 pause 暂停容器 unpause 恢复暂停容器 create 从镜像中创建一个容器 exec 对一个容器执行shell命令 |
容器操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ps 列出容器 inspect 获取容器或镜像的元数据 top 查看正在运行中的容器进程信息 attach 链接正在运行的容器 events 从docker服务器获取事件 logs 获取docker日志 wait 让一个容器进入等待,使其进入阻塞状态 export 讲一个容器的文件系统打包至tar port 列出一个容器的端口映射情况 container 管理已经运行的容器的 deploy 部署新的堆栈或更新已有堆栈的 update 更新容器 rename 重命名容器 volume 卷管理 |
容器文件系统操作
1 2 3 | commit 提交一个容器的文件系统,使之生成一个新的镜像 cp 向一个正在运行的容器复制文件,或将容器中的文件复制出来 diff 检查一个容器文件系统更改情况 |
镜像仓库操作
1 2 3 4 5 | login docker登入 logout docker登出 pull 拉取镜像 push 推送镜像至服务器 search 在docker hub上查询镜像 |
镜像管理
1 2 3 4 5 6 7 8 9 10 11 12 | images 列出镜像 rmi 删除镜像 tag 修改本地某一镜像的标记,使其镜像属于某一仓库 build 通过指定Dockerfile文件编译镜像 history 查看镜像历史 save 将制定镜像保存成tar文件 load 从tar中恢复镜像 import 从tar中创建一个新镜像 checkpoint 设置checkpoint,类似于恢复点,可以让镜像撤销到曾经设置的某一个checkpoint上 image docker镜像管理 manifest docker镜像清单管理 trust docker可信镜像管理 |
集群管理
1 2 3 | swarm docker集群管理工具 node docker集群节点控制 stack docker集群堆栈管理 |
其他命令
1 2 3 4 5 6 7 8 9 | info 查询docker信息 version 查询docker版本 system docker系统管理 stats docker容器资源使用统计 config 管理docker配置 network docker网络管理 plugin docker插件管理 secret docker敏感信息管理 service docker服务管理 |
常用docker命令语法
镜像相关
1、搜索镜像文件
1 2 3 4 5 6 7 | docker search [OPTIONS] TERM --automated :只列出 automated build类型的镜像; --no-trunc :显示完整的镜像描述; -s :列出收藏数不小于指定值的镜像。 |
2、列出全部镜像文件
1 2 3 4 5 6 7 8 9 10 11 | docker images [OPTIONS] [REPOSITORY[:TAG]]-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层); --digests :显示镜像的摘要信息; -f :显示满足条件的镜像; --format :指定返回值的模板文件; --no-trunc :显示完整的镜像信息; -q :只显示镜像ID。 |
3、拉去镜像文件
1 2 3 4 5 | docker pull [OPTIONS] NAME[:TAG|@DIGEST] -a :拉取所有 tagged 镜像 --disable-content-trust :忽略镜像的校验,默认开启<br><br>例如:docker pull nginx 等价于docker pull nginx:latest |
4、删除镜像文件
1 2 3 4 5 6 7 8 9 10 11 12 13 | docker rmi [OPTIONS] IMAGE [IMAGE...] OPTIONS说明 -f :强制删除; --no-prune :不移除该镜像的过程镜像,默认移除; 例如: docker rmi -f nginx 等价于 docker rmi -f nginx:latest 删除单个:docker rmi -f 镜像ID 删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除全部:docker rmi -f $(docker images -aq) |
容器相关
1、新建并启动容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS(常用)说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -P: 随机端口映射,容器内部端口随机映射到主机的高端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name= "nginx-lb" : 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars" : 指定容器的hostname; -e username= "ritchie" : 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset= "0-2" or --cpuset= "0,1,2" : 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net= "bridge" : 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; --link=[]: 添加链接到另一个容器; --expose=[]: 开放一个端口或一组端口; --volume , -v: 绑定一个卷 |
2、列出容器列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | docker ps [OPTIONS] OPTIONS说明: -a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 --no-trunc :不截断输出。 -q :静默模式,只显示容器编号。 -s :显示总的文件大小。 |
3、退出容器
1 2 | exit 容器停止退出 Ctrl+P+Q 容器不停止退出 |
4、启动容器、停止和重启容器
1 2 3 | docker start [OPTIONS] CONTAINER [CONTAINER...] docker stop [OPTIONS] CONTAINER [CONTAINER...] docker restart [OPTIONS] CONTAINER [CONTAINER...] |
5、删除容器
1 2 3 4 5 6 7 8 9 | docker rm [OPTIONS] CONTAINER [CONTAINER...] OPTIONS说明: -f :通过 SIGKILL 信号强制删除一个运行中的容器。 -l :移除容器间的网络连接,而非容器本身。 -v :删除与容器关联的卷。 |
6、查看docker日志
1 2 3 4 5 6 7 8 9 10 11 | docker logs [OPTIONS] CONTAINER OPTIONS说明: -f : 跟踪日志输出,跟随最近的日志打印 --since :显示某个开始时间的所有日志 -t : 显示时间戳 --tail :仅列出最新N条容器日志 |
7、查看docker内进程
1 | docker top [OPTIONS] CONTAINER [ps OPTIONS] |
8、获取容器的元数据
1 2 3 4 5 6 7 8 9 | docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明: -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。 |
9、进入容器
1 2 3 4 5 6 7 8 9 | docker exec [OPTIONS] CONTAINER COMMAND [ARG...] OPTIONS说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现