在 Docker Alpine 容器中启动 shell

新手上路,请多包涵

要为 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 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答
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

原文由 Ole 发布,翻译遵循 CC BY-SA 3.0 许可协议

Usually, an Alpine Linux image doesn’t contain bash , Instead you can use /bin/ash , /bin/sh , ash or only sh

/bin/灰

docker run -it --rm alpine /bin/ash

/bin/sh

 docker run -it --rm alpine /bin/sh

docker run -it --rm alpine ash

docker run -it --rm alpine sh

我希望这些信息对您有所帮助。

原文由 jansanchez 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题