当前位置: 首页 > 知识库问答 >
问题:

是否可以在运行的容器中启动shell会话(没有ssh)

康弘义
2023-03-14

我天真地期望此命令在运行的容器中运行bash shell:

docker run "id of running container" /bin/bash

看起来这是不可能的,我得到的错误:

2013/07/27 20:00:24 Internal server error: 404 trying to fetch remote history for 27d757283842

因此,如果我想在运行的容器中运行bashshell(例如,用于诊断目的)

我必须在其中运行SSH服务器并通过ssh登录吗?

共有3个答案

傅胡媚
2023-03-14

照办

docker attach container_name

如注释中所述,要在不停止容器的情况下从容器中分离,请键入Ctrlp,然后键入Ctrlq

夏季萌
2023-03-14

编辑:现在您可以使用docker exec-it“运行容器的id”bash(doc)

以前,这个问题的答案是:

如果您确实必须并且处于调试环境中,那么可以这样做:sudolxc-attach-n

但是,我强烈建议不要这样做。

注意:-notrunc已弃用,它将很快被--no-trunc取代。

韦鸣
2023-03-14

对于docker 1.3,有一个新的命令docker exec。这允许您输入正在运行的docker:

docker exec -it "id of running container" bash
 类似资料:
  • 问题内容: 我天真地希望此命令在正在运行的容器中运行bash shell: 似乎不可能,但出现错误: 因此,如果我想在正在运行的容器中运行bash shell(例如,出于诊断目的) 我必须在其中运行SSH服务器并通过ssh登录吗? 问题答案: 编辑:现在您可以使用(doc) 以前,此问题的答案是: 如果确实需要并且您处于调试环境中,则可以执行以下操作: 请注意,id必须为完整的ID()。 但是,我

  • 问题内容: 有两个容器A和B。一旦容器A启动,将执行一个过程,然后容器将停止。容器B只是一个Web应用程序(例如expressjs)。是否可以从容器B启动A? 问题答案: 可以向Docker授予容器访问权限,以便它可以在主机上生成其他容器。您可以通过在容器内部暴露docker套接字来执行此操作,例如: 现在,如果容器中有可用的客户端,则可以控制主机上的docker守护程序,并使用它生成“容器A”。

  • 在Spring Boot的文档中,我只找到了使用Redis会话的例子,不使用Redis也能使用它吗?

  • 根据这个github问题,应该可以用Upstart、cron等和Docker0.6或更高版本启动一个完整的容器,但我该如何做呢? 我在期待 就像 我会得到一个登录屏幕,但它没有显示任何内容。我也尝试使用ssh访问它,但没有成功。我正在使用Docker索引中的默认ubuntu图像。

  • 问题内容: 要为Ubuntu映像启动交互式shell,我们可以运行: 但是,对于Alpine Docker映像运行此命令时,将得到以下结果: 在Alpine基本容器中启动交互式Shell的命令是什么? 问题答案: 上面使用的选项: 是BusyBox提供的Ash(Almquist Shell)。 退出时自动移除容器() 交互模式(即使未连接也保持STDIN打开) 分配伪TTY

  • null 虽然我不能让cron在那个特定的容器中工作,但我能够为cron创建一个独立的docker容器,并成功地使它自动运行。 至于cron容器的设置,我遵循了链接的文章,使用Docker-Julien Boulay运行了一个cron作业,并且能够使其工作。