当前位置: 首页 > article >正文

`docker run`、`docker start`、`docker exec` 区别

🧠 先给你一句话理解:

docker rundocker create + docker start + docker exec(第一次)


✅ 三者的区别一览表

命令作用类比真实生活常用场景
docker run创建 + 启动 + 执行命令(一次性)你买了一台新电脑,打开它,并开始运行一个程序第一次启动一个新容器
docker start启动已存在的容器(不运行命令)把之前关机的电脑重新开机(但程序没开)再次启动已存在的容器
docker exec向正在运行的容器中执行一个命令你打开电脑后,打开一个 Word 程序已启动容器后执行额外命令

✅ 举个完整的例子说明

1. 第一次运行容器(最常用的)

docker run -it --name myubuntu ubuntu bash

含义:

  • docker run:第一次运行
  • -it:让你能进交互终端
  • --name myubuntu:给容器起个名字
  • ubuntu:使用哪个镜像
  • bash:进去后执行哪个命令(这里是 bash 终端)

🟢 这个命令干了 3 件事:

  • 创建一个容器(相当于买电脑)
  • 启动它(开机)
  • 启动 bash(打开一个程序)

2. 容器关掉后,再次开启

docker start myubuntu

✅ 这只是开机,不会进入容器内部终端


3. 想要再次“进入”容器终端或运行命令

docker exec -it myubuntu bash

✅ 这才是进入容器内部、手动执行某个命令,比如打开 bash。


✅ 总结口诀记忆

命令口诀
docker run第一次跑,创建+启动+执行
docker start开机(不登录)
docker exec登录进去运行命令

💡 小贴士(实际开发中)

你想干什么用哪个命令
启动新容器(一次性跑完脚本)docker run
容器之前关了,现在想再次开机docker start
容器在运行,想进去看看docker exec -it 容器名 bash
http://www.lryc.cn/news/2396791.html

相关文章:

  • 简单了解string类的特性及使用(C++)
  • FastAPI+Pyomo实现线性回归解决饮食问题
  • 16.FreeRTOS
  • Redis最佳实践——购物车优化详解
  • 【计算机网络】传输层UDP协议
  • 安全漏洞修复导致SpringBoot2.7与Springfox不兼容
  • 从法律层面剖析危化品证书:两证一证背后的安全逻辑
  • C语言——获取变量所在地址(uint8和uint32的区别)
  • 2 Studying《Effective STL》
  • 深入理解复数加法与乘法:MATLAB演示
  • 【设计模式-3.6】结构型——桥接模式
  • 【前端】性能优化篇
  • 【redis实战篇】第六天
  • 力扣题解654:最大二叉树
  • 手写ArrayList和LinkedList
  • Android bindservice绑定服务,bindServiceAsUser补充
  • [蓝桥杯]交换次数
  • 95套HTML高端大数据可视化大屏源码分享
  • 系统架构设计综合知识与案例分析
  • scale up 不能优化 TCP 聚合性能
  • Python-matplotlib库之核心对象
  • Linux 脚本文件编辑(vim)
  • 学习BI---基本操作---数据集操作
  • 初学大模型部署以及案例应用(windows+wsl+dify+mysql+Ollama+Xinference)
  • AI Agent企业级生产应用全解析
  • RocketMQ 学习
  • 【前端】html2pdf实现用前端下载pdf
  • Redis部署架构详解:原理、场景与最佳实践
  • 前端开发知识体系全景指南
  • C++哈希表:unordered系列容器详解