如何在 bash 中启动 Docker-ubuntu 容器?

2024-04-16

答案来自这个问题 https://stackoverflow.com/questions/21928691/how-to-continue-a-docker-which-is-exited不工作。

docker 容器总是先于我退出attach或不会接受-t旗帜。我可以列出我尝试过的所有命令,但它是以下命令的组合start exec attach与各种-it旗帜和/bin/bash.

如何将现有容器启动到 bash 中?为什么这么难?这是 Docker 的“不当”使用吗?

编辑: 我用以下命令创建了容器docker run ubuntu。容器的相关信息:60b93bda690f ubuntu "/bin/bash" About an hour ago Exited (0) 50 minutes ago ecstatic_euclid


首先,容器不是虚拟机。容器是运行进程的隔离环境。容器的生命周期与其内部运行的进程绑定在一起。当进程退出时,容器也退出,隔离环境就没有了。 “附加到容器”或“进入容器”的含义实际上意味着你进入了容器的隔离环境。运行过程,所以如果你的进程已经退出,你的容器也已经退出,因此没有容器可供你使用attach or enter。所以命令docker attach, docker exec目标是running容器。

当您docker run配置在一个Dockerfile并内置到 docker 镜像中。拍摄图像ubuntu举个例子,如果你运行docker inspect ubuntu,您将在输出中找到以下配置:

"Cmd": ["/bin/bash"]

这意味着当您运行时该过程就开始了docker run ubuntu is /bin/bash,但是您没有处于交互模式,也没有为其分配 tty,因此进程立即退出,容器也退出。这就是为什么你没有办法再次进入容器的原因。

启动容器并输入bash, 你试一试:

docker run -it ubuntu

然后你将被带入容器外壳。如果您打开另一个终端并docker ps,你会发现容器正在运行,你可以docker attach到它或docker exec -it <container_id> bash再次输入。

您还可以参考这个链接 https://stackoverflow.com/a/43303258/1000254了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 bash 中启动 Docker-ubuntu 容器? 的相关文章

随机推荐

  • ASP.Net 动态切换母版页

    以前从未需要这样做 但是是否可以动态设置 更改页面正在使用的母版页 有一个旧的 asp net web 表单项目 我为它创建了一个新的引导模板 但老板希望给人们机会打开新的模板 而不是强迫他们使用 我建议您创建一个 BasePage 类 而
  • Java 中的全局异常处理程序

    我正在考虑使用以下命令为我的 Android 移动应用程序 使用 Java 语法 设置一个全局默认异常处理程序Thread setDefaultUncaughtExceptionHandler 称呼 我正在考虑只向用户显示一个带有适当消息的
  • 更改值 recyclerview.adapter 并将其保存到 mainactivity 中的 textview 中?

    当我更改 recyclerview adapter 的值时 我想将其值设置为 mainactivity 中的 textview 该怎么做 it will be like this 从我的 json 中检索回收数据 因此它将是随机的且数据很多
  • Flutter:如何导入现有的 Flutter 项目作为 gradle 项目

    如何导入现有的 Flutter 项目作为 gradle 项目 导入项目 向导要求 Gradle 主路径 我的系统中安装了 gradle 但这里需要设置什么 哪个路径 这是我正在尝试的 Error 我也遇到过这个问题 我必须在 Android
  • 使用 scikit-learn OneClassSVM 时获取每个新观察结果为异常值的概率

    我是 scikit learn 和 SVM 方法的新手 我的数据集与 scikit learn OneClassSVM 配合良好 可以检测异常值 我使用观察来训练 OneClassSVM 所有这些都是 内点 然后使用 Predict 对我的
  • WatchService 和 SwingWorker:如何正确执行?

    WatchService 听起来像是一个令人兴奋的想法 不幸的是 它似乎像教程 api 中警告的那样低级 而且并不真正适合 Swing 事件模型 或者我错过了一些明显的东西 非零概率 获取代码来自教程中的 WatchDir 示例 http
  • 在 Android 应用程序中播放 .wav/.mp3/.ogg 音频文件时出现延迟

    我编写了一个用于播放 20 毫秒音频剪辑 wav 格式 的应用程序 它只是重复播放声音片段 1000 次 但由于延迟 它的播放次数在 978 到 984 之间 我还尝试过其他音频格式 ogg mp3 等 我想减少延迟并获得可靠的号码 我在下
  • Android drawable-hdpi-night 文件夹

    Please help I am playing with small example of day night mode in Android So far so good I have 2 images of multiple size
  • 发送邮件到 mailtrap.io

    我正在使用 Laravel 5 1 我在我的申请中创建了联系页面 因此用户可以发送电子邮件 这里我使用了mailtrap io 当我创建时它就起作用了 我的意思是发送邮件到mailtrap io没有问题 但今天 当我再次检查时 它向我显示了
  • UIBezierPath 具有圆角边缘的三角形

    我设计了以下代码来生成UIBezierPath 该路径在CAShapeLayer掩盖一个UIView 请注意 视图的高度和宽度是可变的 这段代码生成一个具有锐利边缘的三角形 但我想使角变圆 我已经尝试过addArcWithCenter li
  • 为spark master指定local[n1,n2,n3]时,三个参数是什么?

    对于启动 Spark 我看到 master local n1 n2 n3 其中 n1 n2 和 n3 是整数 这些指的是什么 主规范解析为SparkContext createTaskScheduler https github com a
  • java中如何判断一个字符串是否至少包含一个字母?

    我想要这样的验证 我的字符串必须至少包含一个字母表 我正在使用以下内容 String s 111a11 boolean flag s matches a zA Z 旗帜给了我false虽然a在我的字符串中s 您可以使用 a zA Z wit
  • Git commit - 在有或没有消息文件的情况下处理类似的#注释

    我已经暂存了一个文件readme txt 调用时 git commit 它会打开我的编辑器并显示一条预定义的消息 在第一行中 我添加的只是为了强制 stackoverflow 显示此空行 Please enter the commit me
  • 将 javascript 函数应用于可拖动副本

    我想应用名为 copy contenue 的函数来更改 div 父 id 在我拖动原件后创建的副本上 但我的脚本更改了原件而不是副本我也尝试了 ui helper 来代替它 但没有任何反应 model 1 draggable connect
  • Android RecyclerView 中项目之间的空间过大

    我正在使用 RecyclerView 从每次在 EditText 中按 Enter 键时填充的对象列表中加载数据 但我面临的问题是 我添加的第一个项目显示正常 当我添加第二个项目时 它显示第一个和第二个项目之间有很大的差距 如果我继续添加项
  • jqgrid 掩码十进制数字单元格

    我的 jgrid 中有一个 float 类型的列 我想在用户输入单元格时屏蔽列单元格 例如 掩码应为 99999 99 当 9 0 9 之间的任何数字时 我希望该点左侧最多有 5 位数字 该点右侧最多有 2 位数字 并且可以输入少于最大值的
  • 由于 Cloud Foundry 上的 SSL 错误,JaxB 无法解组?

    我有一个 Web 应用程序 使用 thymeleaf Spring Boot AngularJS 和 Oracle sql Developer db 在本地 我能够连接并从 Oracle 获取值 但是当我将应用程序推送到 Cloud Fou
  • 经典 ASP #include virtual 不起作用

    我们正处于从 IIS6 2003 到 IIS8 2012 的迁移过程中 我们必须维护一些经典 ASP 以及 ASP 和 NET 应用程序 完整的应用程序似乎运行良好 例如 我进入 IIS 右键单击文件夹并执行 转换为应用程序 但我们的站点严
  • ExpressionHelper.GetExpressionText(表达式)不返回我的属性的名称

    我已经实现了 MVC 扩展来格式化应用程序中的数字 它基于找到的代码here https stackoverflow com a 7766382 455492 并且如下 public static MvcHtmlString Decimal
  • 如何在 bash 中启动 Docker-ubuntu 容器?

    答案来自这个问题 https stackoverflow com questions 21928691 how to continue a docker which is exited不工作 docker 容器总是先于我退出attach或不