当前位置: 首页 > 面试题库 >

在Docker Alpine容器中启动Shell

令狐俊风
2023-03-14
问题内容

要为Ubuntu映像启动交互式shell,我们可以运行:

ole@T:~$ docker run -it --rm ubuntu
root@1a6721e1fb64:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

但是,对于Alpine Docker映像运行此命令时,将得到以下结果:

ole@T:~$ docker run -it --rm alpine
Error response from daemon: No command specified

在Alpine基本容器中启动交互式Shell的命令是什么?


问题答案:
ole@T:~$ docker run -it --rm alpine /bin/ash
(inside container) / #

上面使用的选项:

  • /bin/ash是BusyBox提供的Ash(Almquist Shell)。
  • --rm退出时自动移除容器(docker run --help
  • -i 交互模式(即使未连接也保持STDIN打开)
  • -t 分配伪TTY


 类似资料:
  • 问题内容: 我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。 接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var / jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主

  • 问题内容: 要启动容器,我输入以下命令: 但我想在此容器中打开外壳以键入mongo命令。我应该运行什么命令来执行相同的操作? 问题答案: 您可以通过运行以下命令来运行交互式mongo shell: 否则,如果您的容器已经在运行,则可以使用以下命令:

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

  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 我有一个Docker容器,其中包含我的Postgres数据库。它使用官方的Postgres映像,其中有一个CMD条目,可以在主线程上启动服务器。 我想通过运行