docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢?

docker run 命令,不接it选项,run一个centos没有显示在运行,而run一个nginx却可以呢?

ChatGPT said:

你问到的这个现象,其实就是 镜像默认启动命令 (ENTRYPOINT / CMD) 的差异导致的。


🔍 情况分析

1. docker run centos

  • CentOS 官方镜像的 Dockerfile 默认写的是:
    CMD ["/bin/bash"]

  • 如果你直接运行:
    docker run centos
    容器会启动 /bin/bash
    但是由于你 没有加 -it(交互终端),

    • bash 没有输入

    • 没有绑定终端

    • 启动后马上退出

    所以容器一闪而过,在 docker ps 里看不到。


2. docker run nginx

  • Nginx 官方镜像的默认命令是:
    CMD ["nginx", "-g", "daemon off;"]

  • 这意味着它启动的就是 Nginx 服务进程,并且特别指定 daemon off,让 Nginx 以前台模式运行

  • Docker 容器要求 必须有一个前台进程一直运行,否则容器就会退出。

  • 所以运行:
    docker run nginx
    容器会保持运行(因为 nginx 主进程一直在前台)。


📊 总结对比

镜像默认命令是否需要 -it 才能保持运行行为
CentOS/bin/bash✅ 需要 -it,否则退出没输入就挂掉
Nginxnginx -g 'daemon off;'❌ 不需要服务以前台运行,容器保持存活

✅ 如何解决

如果你想让 CentOS 容器保持运行,即使不用 -it,可以指定一个“不会退出”的前台进程,比如:

docker run -d centos tail -f /dev/null

这样容器会后台运行,并保持存活,你可以随时用:

docker exec -it <容器ID> bash

进入操作。



-it的作用是?

ChatGPT said:

好,我们把 -it 拆开解释:


-i(interactive)

  • 保持标准输入 (STDIN) 打开,即使你没有连接到容器。

  • 没有 -i 时,容器里运行的程序如果需要输入,就会直接断掉。


-t(tty)

  • 为容器分配一个伪终端 (pseudo-TTY)

  • 有了 -t,你在容器里看到的是一个“像样的终端环境”,可以有命令提示符、格式化输出。

  • 没有 -t,就算 -i 让你能输入,但界面很原始,没有交互体验。


-it 组合效果

  • 最常用,表示:

    • 给容器一个伪终端

    • 保持输入通道

  • 典型场景:进入交互式 Shell,比如:
    docker run -it ubuntu bashdocker exec -it my_container sh
    这样你能像登录到一台虚拟机一样操作容器。


对比演示

假设你运行 CentOS:

  • 不加 -it
    docker run centos bash
    👉 bash 没有输入,马上退出,容器立刻消失。

  • -it
    docker run -it centos bash
    👉 进入交互式终端,可以输入命令、看到提示符,容器保持运行。


📌 总结一句:

  • -i 让容器 能接收输入

  • -t 让容器 看起来像一个终端

  • -it 就是 进入容器里交互操作的必备组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/95883.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/95883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【完整源码+数据集+部署教程】水培植物病害检测系统源码和数据集:改进yolo11-AKConv

背景意义 研究背景与意义 随着全球人口的不断增长&#xff0c;农业生产面临着前所未有的挑战&#xff0c;尤其是在资源有限的环境中&#xff0c;如何提高作物的产量和质量成为了亟待解决的问题。水培技术作为一种新兴的农业生产方式&#xff0c;因其高效的水资源利用和较少的土…

第2课:环境搭建:基于DeepSeek API的开发环境配置

概述 在开始大模型RAG实战之旅前&#xff0c;一个正确且高效的开发环境是成功的基石。本文将手把手指导您完成从零开始的环境配置过程&#xff0c;涵盖Python环境设置、关键库安装、DeepSeek API配置以及开发工具优化。通过详细的步骤说明、常见问题解答和最佳实践分享&#x…

Boost电路:稳态和小信号分析

稳态分析 参考张卫平的《开关变换器的建模与控制》的1.3章节内容&#xff1b;伏秒平衡&#xff1a;在稳态下&#xff0c;一个开关周期内电感电流的增量是0&#xff0c;即 dIL(t)dt0\frac{dI_{L}(t)}{dt} 0dtdIL​(t)​0。电荷平衡&#xff1a;在稳态下&#xff0c;一个开关周期…

Vue-25-利用Vue3大模型对话框设计之前端和后端的基础实现

文章目录 1 设计思路 1.1 核心布局与组件 1.2 交互设计(Interaction Design) 1.3 视觉与用户体验 1.4 高级功能与创新设计 2 vue3前端设计 2.1 项目启动 2.1.1 创建和启动项目(vite+vue) 2.1.2 清理不需要的代码 2.1.3 下载必备的依赖(element-plus) 2.1.4 完整引入并注册(main…

Elasticsearch面试精讲 Day 7:全文搜索与相关性评分

【Elasticsearch面试精讲 Day 7】全文搜索与相关性评分 文章标签&#xff1a;Elasticsearch, 全文搜索, 相关性评分, TF-IDF, BM25, 面试, 搜索引擎, 后端开发, 大数据 文章简述&#xff1a; 本文是“Elasticsearch面试精讲”系列的第7天&#xff0c;聚焦于全文搜索与相关性评…

Vllm-0.10.1:vllm bench serve参数说明

一、KVM 虚拟机环境 GPU:4张英伟达A6000(48G) 内存&#xff1a;128G 海光Cpu:128核 大模型&#xff1a;DeepSeek-R1-Distill-Qwen-32B 推理框架Vllm:0.10.1 二、测试命令&#xff08;random &#xff09; vllm bench serve \ --backend vllm \ --base-url http://127.0.…

B.50.10.11-Spring框架核心与电商应用

Spring框架核心原理与电商应用实战 核心理念: 本文是Spring框架深度指南。我们将从Spring的两大基石——IoC和AOP的底层原理出发&#xff0c;详细拆解一个Bean从定义到销毁的完整生命周期&#xff0c;并深入探讨Spring事务管理的实现机制。随后&#xff0c;我们将聚焦于Spring …

雅菲奥朗SRE知识墙分享(六):『混沌工程的定义与实践』

混沌工程不再追求“永不宕机”的童话&#xff0c;而是主动在系统中注入可控的“混乱”&#xff0c;通过实验验证系统在真实故障场景下的弹性与自我修复能力。混沌工程不是简单的“搞破坏”&#xff0c;也不是运维团队的专属游戏。它是一种以实验为导向、以度量为核心、以文化为…

从0死磕全栈第五天:React 使用zustand实现To-Do List项目

代码世界是现实的镜像,状态管理教会我们:真正的控制不在于凝固不变,而在于优雅地引导变化。 这是「从0死磕全栈」系列的第5篇文章,前面我们已经完成了环境搭建、路由配置和基础功能开发。今天,我们将引入一个轻量级但强大的状态管理工具 —— Zustand,来实现一个完整的 T…

力扣29. 两数相除题解

原题链接29. 两数相除 - 力扣&#xff08;LeetCode&#xff09; 主要不能用乘除取余&#xff0c;于是用位运算代替&#xff1a; Java题解 class Solution {public int divide(int dividend, int divisor) {//全都转为负数计算, 避免溢出, flag记录结果的符号int flag 1;if(…

【工具类】Nuclei YAML POC 编写以及批量检测

Nuclei YAML POC 编写以及批量检测法律与道德使用声明前言Nuclei 下载地址下载对应版本的文件关于检查cpu架构关于hkws的未授权访问参考资料关于 Neclei Yaml 脚本编写BP Nuclei Template 插件下载并安装利用插件编写 POC YAML 文件1、找到有漏洞的页面抓包发送给插件2、同时将…

自动化运维之ansible

一、认识自动化运维假如管理很多台服务器&#xff0c;主要关注以下几个方面“1.管理机与被管理机的连接&#xff08;管理机如何将管理指令发送给被管理机&#xff09;2.服务器信息收集&#xff08;如果被管理的服务器有centos7.5外还有其它linux发行版&#xff0c;如suse,ubunt…

【温室气体数据集】亚洲地区长期空气污染物和温室气体排放数据 REAS

目录 REAS 数据集概述 REAS 数据版本及特点 数据内容(以 REASv3.2.1 为例) 数据形式 数据下载 参考 REAS 数据集(Regional Emission inventory in ASia,亚洲区域排放清单)是由日本国立环境研究所(NIES)及相关研究人员开发的一个覆盖亚洲地区长期空气污染物和温室气体排放…

中州养老项目:利用Redis解决权限接口响应慢的问题

目录 在Java中使用Redis缓存 项目中集成SpringCache 在Java中使用Redis缓存 Redis作为缓存,想要在Java中操作Redis,需要 Java中的客户端操纵Redis就像JDBC操作数据库一样,实际底层封装了对Redis的基础操作 如何在Java中使用Redis呢?先导入Redis的依赖,这个依赖导入后相当于把…

MathJax - LaTeX:WordPress 公式精准呈现方案

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录前言安装 MathJax-LaTeX 插件修改插件文件效果总结互动致谢参考前言 在当今知识传播与…

详细解读Docker

1.概述Docker是一种优秀的开源的容器化平台。用于部署、运行应用程序&#xff0c;它通过将应用及其依赖打包成轻量级、可移植的容器&#xff0c;实现高效一致的运行效果&#xff0c;简单来说&#xff0c;Docker就是一种轻量级的虚拟技术。2.核心概念2.1.容器&#xff08;Contai…

GEE:基于自定义的年度时序数据集进行LandTrendr变化检测

本文记录了使用自己的年度时序数据集,进行 LandTrendr 变化检测的代码。结果输出变化年份、变化幅度以及变化持续时间。 结果如下图所示, 文章目录 一、核心函数 二、代码 三、代码链接 一、核心函数 var eeltgcm = require(users/949384116/lib:LandTrendr/getChangeMap)v…

PostgreSQL收集pg_stat_activity记录的shell工具pg_collect_pgsa

这是一个纯脚本工具&#xff0c;用于从PostgreSQL的pg_stat_activity视图中定期收集数据并保存到本地日志文件。 相关背景&#xff1a; 某个慢SQL打满内存&#xff0c;导致系统kill掉postgres的某个进程&#xff0c;进而导致postgres进程重启&#xff0c;没有现场排查不了具体…

通俗的话语解读《银行保险机构信息科技外包风险监管办法》

这份文件不是 “纸上规矩”&#xff0c;而是银行保险机构做信息科技外包的 “实操手册”—— 从要不要外包、选谁合作&#xff0c;到怎么管过程、防风险&#xff0c;再到出问题怎么应对&#xff0c;都给了明确方向。作为管理者&#xff0c;核心是把这些要求落地到日常决策和系统…

芯片ATE测试PAT(Part Average Testing)学习总结-20250916

目录 一、基本概念 二、静态PAT 三、动态PAT 四、参考链接: 一、基本概念 零件平均测试(Part Average Testing,PAT)是一种基于统计学的质量控制方法,主要用于半导体制造中筛选出与正常参数范围偏差较大的“异常值”芯片,以提高产品质量和可靠性; 二、静态PAT 静态…