首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么docker run退出我的终端会话?

Docker是一种开源的容器化平台,它可以将应用程序及其依赖项打包成一个独立的容器,以便在不同的环境中进行部署和运行。当你使用docker run命令来启动一个容器时,如果没有指定-d参数(即后台运行),默认情况下容器会在前台运行,并且会绑定到当前的终端会话。

当你退出终端会话时,会话中的所有进程都会被终止,包括前台运行的容器。这就是为什么当你退出终端会话时,docker run启动的容器也会退出的原因。

如果你希望容器在后台持续运行,可以使用docker run -d命令来启动容器。这样容器将会在后台运行,并且不会受到终端会话的影响。你可以使用docker ps命令来查看正在运行的容器列表。

对于容器的退出问题,还有一种可能是容器内部的应用程序发生了错误或异常导致容器自动退出。你可以使用docker logs命令来查看容器的日志输出,以便排查问题。

总结起来,当你使用docker run启动容器时,默认情况下容器会在前台运行,并且会绑定到当前的终端会话。退出终端会话会导致容器也退出。如果希望容器在后台持续运行,可以使用docker run -d命令来启动容器。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

通过前面学习,我们已经在centos系统中安装了docker,也成功的拉取了docker的hello-word镜像及运行成功了。...那么有没有思考过如下问题: 思考问题1: docker run 到底干了些什么?...当我们执行docker run 镜像名称之后,docker会执行以下流程: 1:docker会先从本机中寻找该镜像,查看本机是否存在。...整个流程如下图: 图片 思考2:docker为什么会比VM虚拟机快呢? 我们来看看一个形象的docker和VM虚拟机的对比图。如下图: 图片 那么docker为什么会比VM虚拟机快呢?...主要有以下两点: 1:docker有着比虚拟机更少的抽象层 由于Docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源; 我们知道虚拟机是需要虚拟出

56620

为什么我把 Run 出来的 Apk 发给老板,却装不上!

Run 的 Apk 2.1 textOnly 属性 我们知道,AS Run 起来的 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名的问题。...这就是为什么你无法安装 Run 出来的 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!...毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者! 腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!...八年Android开发,从码农到架构师分享我的技术成长之路,共勉! 最后祝大家生活愉快~

2.7K30
  • systemd --user进程CPU占用高问题分析

    只要用户还有会话存在,这个进程就不会退出;用户所有会话退出时,进程将会被销毁。”。...但,为什么我们看到的腾讯云环境上systemd进程一直没有被销毁?  ...此时我想到了 非正常退出ssh连接, 如2.1章节,在第二个终端,执行ssh登录test3,再如下图直接点“X”直接关闭窗口, 然后,在第一个终端,执行如下命令过滤新产生的test3 用户的systemd...关于这个问题,我在《google-cloud-kuberbetes-run-away-systemd-100-cpu-usage》一文中得到答案: image.png Docker在17.03和18.09...同时,既然说到和docker版本有关系,我便针对性找了两个有差异的环境做docker版本对不: 1.ubuntu1604+mount挂载多+systemd正常环境 2.ubuntu1604+mount

    3K51

    简单3步部署本地国产大模型DeepSeek大模型

    模型运行与会话管理运行模型命令:ollama run [模型名称]功能:运行一个已安装的模型,执行某些任务。可以根据需要指定模型的参数和配置。...保存模型或会话状态命令:/save 功能:在会话界面中保存当前的会话状态或模型。可以将当前会话或模型的配置保存为一个文件,以便以后使用。清理上下文命令:/clear功能:清除会话上下文。...这将删除当前会话中的所有历史记录或对话内容。退出对话模型命令:/bye功能:退出当前与模型的对话,并退出程序。...--name open-webui --restart always ghcr.io/open-webui/open-webui:main​由于我的电脑有GPU​此时我使用的是:docker run...,回车然后将上边在docker中部署Open WebUI的命令复制后粘贴到终端中,回车。

    4.4K31

    Docker入门

    运行容器 现在,我们尝试启动第一个容器,我们可以使用docker run方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示: ?...容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!! 重新启动已经停止的容器 例如,我使用docker ps命令没有发现容器正在启动 ?...附着容器 Docker 容器重新启动的时候,会沿用docker run 命令时指定的参数来运行,因此我们容器重新启动后会运行一个交互式会话shell。...如果退出 shell 进程,容器也会随之停止运行 创建守护式容器 除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。...tty(终端设备的统称):在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。

    87630

    Docker入门

    运行容器 现在,我们尝试启动第一个容器,我们可以使用docker run方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示: ?...容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!! 重新启动已经停止的容器 例如,我使用docker ps命令没有发现容器正在启动 ?...附着容器 Docker 容器重新启动的时候,会沿用docker run 命令时指定的参数来运行,因此我们容器重新启动后会运行一个交互式会话shell。...如果退出 shell 进程,容器也会随之停止运行 创建守护式容器 除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。...tty(终端设备的统称):在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。

    91820

    Docker入门

    运行容器 现在,我们尝试启动第一个容器,我们可以使用docker run方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示: ?...容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!! 重新启动已经停止的容器 例如,我使用docker ps命令没有发现容器正在启动 ?...附着容器 Docker 容器重新启动的时候,会沿用docker run 命令时指定的参数来运行,因此我们容器重新启动后会运行一个交互式会话shell。...如果退出 shell 进程,容器也会随之停止运行 创建守护式容器 除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。...tty(终端设备的统称):在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。

    82230

    Docker入门

    运行容器 现在,我们尝试启动第一个容器,我们可以使用docker run方法创建容器,docker run 提供了容器的创建到启动的过程。docker run 的执行流程如下图所示: ?...容器的名称必须是唯一的,而且有效的名称能够帮助我们理清楚上下级关系,所以明明很重要!!! 重新启动已经停止的容器 例如,我使用docker ps命令没有发现容器正在启动 ?...附着容器 Docker 容器重新启动的时候,会沿用docker run 命令时指定的参数来运行,因此我们容器重新启动后会运行一个交互式会话shell。...如果退出 shell 进程,容器也会随之停止运行 创建守护式容器 除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。...tty(终端设备的统称):在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。

    75720

    Docker运行命令示例

    在前台中运行容器 默认情况下,当docker run命令未提供任何选项时,根进程将在前台启动。这意味着来自根进程的标准输入,输出和错误将附加到终端会话。...docker container run nginx Nginx进程的输出将显示在你的终端上。由于没有与Web服务器的连接,因此终端为空。...要停止容器,请按CTRL+C终止正在运行的Nginx进程。 以分离(后台)模式运行容器 要在退出终端会话时保持容器运行,请以分离模式启动容器。这类似于在后台运行 Linux进程。...--rm选项告诉docker run命令在容器自动退出时将其删除: docker container run --rm nginx 在容器退出后,Nginx映像可能不是清理容器文件系统的最佳示例。...-it选项告诉Docker将标准输入保留在终端上并分配一个伪tty: docker container run -it nginx /bin/bash 容器的Bash外壳将连接到终端,命令提示符将更改

    1.2K10

    使用 Docker 客户端管理容器:这些命令必须知道

    让我们举一个简单的例子:我们希望立即执行 docker run alpine 以及容器退出,所以我们使用 -it ,这迫使它进行交互并使用当前终端。...因为我想让这个会话在后台运行,所以使用键盘按键 Ctrl + p ,然后 Ctrl + q ,这样重复四次,如下图所示。...我当前的容器列表是空的,为什么? Docker 客户端命令 docker container list 只列出活动的容器。...要获得所有容器的列表,只需在同一个 Docker 客户端命令的末尾添加开关 --all (如下图所示)。 ? 现在如果我想回到一个特定的容器,去检查一些东西或抓取一个文件,我该怎么做?...第一件事是启动容器,然后返回会话。美妙之处在于,用于创建的命令也可以用于启动容器(这是有意义的),因此不需要传递额外的参数。使用以下 Docker 客户端命令,我们就能够启动任何已停止的容器。

    99710

    docker中创建容器的两种方式(交互式与守护式)

    交互式方式创建容器 交互式方式创建容器是指在容器内部启动一个交互式会话,类似于在终端中登录到一个虚拟机。您可以直接与容器进行交互,并在容器内部执行命令。...输入exit可以退出 退出之后,如果希望再次运行可以输入下面命令 首先输入docker start 启动容器 然后输入docker exec -it /...步骤 3:与容器交互 现在,您已经进入了交互式容器的命令行界面。您可以在容器内部执行任意命令,就像在本地终端中一样。例如,运行以下命令来查看容器内的文件列表: ls 您还可以安装软件包、编辑文件等。...步骤 4:退出容器 当您完成容器内的操作后,可以使用以下命令退出容器并返回主机系统的命令行界面: exit 守护式方式创建容器 守护式方式创建容器是指在后台运行容器,无需进入容器内部进行交互。...3:查看容器状态 您可以使用以下命令查看容器的状态: docker ps 步骤 4:与容器交互(可选) 如果需要与容器进行交互,可以使用以下命令进入容器的交互式会话: docker exec -it

    6200

    screen后台执行命令

    2、简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。...1.会话恢复 2.多窗口 3.会话共享 GNU's Screen 官方站点:http://www.gnu.org/software/screen/ 3、语法 参数说明 -A 将所有的视窗都调整为目前终端机的大小...但是这样启动的screen会话没有名字,实践上推荐为每个screen会话取一个名字,方便分辨: [root@docker-01 ~]# screen -S david screen启动后,会创建第一个窗口...重新连接会话: [root@docker-01 ~]# screen -r 19005 5.4退出会话: 如果你的备份命令执行完了,不想再使用screen会话了,可以使用exit命令退出会话。...[root@docker-01 ~]# exit [root@docker-01 ~]# screen -ls No Sockets found in/var/run/screen/S-root.

    2.7K10

    Docker从门外到入门使用

    4.Docker容器 使用镜像创建容器container。我觉得是镜像的实例化。...可以用docker info 查看镜像源是否更改。 ? 查看docker信息 在终端输入docker info,可以查看到当前容器数量,镜像数量,还有更改的镜像源等 ? ?...容器创建使用docker create命令,创建却不运行它。 虽然容器启动了,可是没有进到容器中,不能进行交互式会话。 使用如下命令,附着到正在运行的容器,进行会话。...docker attach 6d47 这样就又回到交互式环境中了: ? 创建和使用守护式容器 守护式容器没有交互式会话,长期运行在后台,提供服务即可。使用的命令还是run命令。...: docker exec -t -i my_container /bin/bash 该代码可以进去与之前创建的守护式容器进行交互(当然我之前使用了 docker exec -d my_container

    95740

    嗯,以后写教程就用它了!

    Asciinema官网 介绍 来自官网的话:以正确的方式记录并分享您的终端会话,忘记屏幕录音应用程序和模糊的视频吧。享受一种轻量级的、纯粹基于文本的终端录制方法。...Asciinema 是 Linux 系统下一款"高级"终端会话记录和回放的神器, 它是一个在终端下非常棒的录制分享软件,基于文本的录屏工具,对终端输入输出进行捕捉, 然后以文本的形式来记录和回放!...作为包管理工具,下载过程如下 sudo yum install asciinema Docker安装 同时也支持使用 Docker 安装 docker run --rm -ti -v "$HOME...# 退出 eixt # 播放录制的终端命令 asciinema play demo.cast 上传到Asciinema官网 但是只是在终端上查看,还是不能分享给其它的小伙伴们,所以我们需要将我们录制的内容上传...,点击开始录制后,你在终端的所有操作都会被记录下来 # 开始录制 asciinema rec # 退出录制【按下回车上传】 exit 录制成功地址 下面访问这个地址,即可看到我们的内容了 https

    38230

    【云原生 | Docker篇】轻松学会生存技巧 -- 命令(二)

    对象的底层信息 kill 杀死一个或者多个容器 load 从tar文件加载镜像 login 登录Docker registry logout 退出Docker registry logs 获取容器日志;...把busybox镜像保存成tar文件 docker load -i busybox.tar 把压缩包里面的内容直接导成镜像 ---------- 镜像为什么能长久运行 镜像启动一定得有一个阻塞的进程,...docker.io/lansonli/mynginx:v4 我的镜像的全称 登录远程docker仓库 当前会话登录以后 docker login 。...容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用 --name="nginx-lb":为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致...OPTIONS说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 docker exec -it alpine sh 3、docker

    645131

    将 Web 应用丢给守护进程

    对于 Spring Boot,我们可以在终端使用 mvn spring-boot:run 在前台跑 Web 服务;对于 React 前端应用,我们可以使用 npm script 即 npm start...问题来了,这样操作,服务进程是跑在前台的(所谓的前台任务/进程),当我们退出操作终端或者手动终止时,这些服务也就不能用了,而且前台任务独占了一个终端,使得我们不能再在此终端执行其他命令。...在了解如何解决问题前,我觉得有必要了解下为什么前台任务会随着 session 的退出而退出(收到了 SIGHUP)。...什么是 session 会话(session)是一个若干进程组的集合,同样的,系统中每一个进程组也都必须从属于某一个会话;一个会话只拥有最多一个控制终端(也可以没有),该终端为会话中所有进程组中的进程所共用...一个会话中前台进程组只会有一个,只有其中的进程才可以和控制终端进行交互;除了前台进程组外的进程组,都是后台进程组;和进程组先导类似,会话中也有会话先导(session leader)的概念,用来表示建立起到控制终端连接的进程

    1.6K70

    Docker循序渐进

    推荐参考菜鸟教程(RUNOOB.COM)的-Docker命令大全 启动容器 $ docker run IMAGE [COMMAND] [AGR…] run 在新容器中执行的命令 IMAGE 启动容器所使用的操作系统的镜像...-t 分配伪tty终端 --tty = true | false 默认是false 示例: $ docker run -i -t ubuntu /bin/bash [itrun] docker创建了一个允许使用...: 能长期运行 没有交互式会话 适合运行应用程序和服务 以守护形式运行容器 推出交互模式,后台运行: 使用快捷键 Ctrl+P + Ctrl+Q [退出交互] 退出交互后,容器仍在运行,使用docker...+C退出(Linux下绝大部分操作通用嘛) 查看进程内容 查看运行中容器的进程: $ docker top 容器名 [top] 在运行的容器中启动新的进程 Docker的理念是,在一个容器中使用一个服务...bin/bash 以前面创建的dc_test容器为例,为其添加一个bash终端进程,并使用top指令查看 [exec] 停止守护式容器 stop $ docker stop 容器名 发送停止信号给容器,

    94590

    Docker-run命令详细讲解

    作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。...docker run的在运行这些操作容器。...我们在Docker被墙以后,我为什么这样做,里面提到过镜像实际上分类,一种是操作系统镜像,一种是业务镜像。里面有些例子可能不是很合适。从我们上小节的例子可能分为是否有前台进程来更适合一点。...#效果是一样的,启动则退出 docker run centos:7 docker run -d centos:7 #启动则进入容器,exit退出容器,则容器关闭 [root@localhost ~]#...docker run -it centos:7 [root@b914ccb36e5c /]# #会阻塞当前终端操作,中断终端则容器退出 docker run nginx #不会阻塞当前终端,容器会持续在后台运行

    33710

    Docker-如何启动docker

    我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节 我们经过前面两小节介绍docker的操作命令,只要熟练掌握这些命令,实际上我们已经可以掌握容器的运行,但是如果我一个容器无法启动或者启动失败...示例:在终端中运行 ping 127.0.0.1 命令,ping 命令会持续输出结果,直到用户按下 Ctrl+C 终止它(适合linux,win默认4个包就会退出)。...如果这个进程退出,则这个容器就会退出,这也就是我们的docker里面必须要有一个前台进程的原因。也是为后面的Dockerfile提前做好准备,避免我们制作的镜像出现无法启动情况。...,这个是为什么呢?...通过这个对比,让我们了解到docker run的参数和不同的镜像其实相关联,不同的镜像是可以匹配不同的参数,这个就需要对镜像有一个基本的认识,这里简单的分类下: 1.操作系统&环境镜像 比如centos

    16210

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券