要启动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 image,以下结果:

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

在Alpine base容器中启动交互式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

Linux相关问答推荐

如何使用 sed 和 date 命令替换和格式化字符串中的日期?

线程创建会在 Linux 中触发页面错误吗?它与软脏 PTE 有什么关系?

bind(): "无法分配请求的地址"

从 curl 命令输出中获取值

我需要制作一个 awk 脚本来解析文件中的文本.我不确定我是否做得正确

如何在Linux中将文件的特定行号中的数字乘以2(双)?

文件未在脚本中使用 cp 命令复制到 Docker 容器中

最小的 x86_64 Hello World ELF 二进制文件是什么?

Dockerfile:无法复制文件

bash 中的sed命令

用于将文件夹从本地计算机复制到远程服务器的 scp 命令语法

如何计算列的平均值

将 bash 脚本添加到路径

从命令行导入 PostgreSQL CSV

如何在 Linux 中查看日志(log)文件并在查看时应用自定义过滤器?

如何让我的 Golang Web 服务器在后台运行?

如何从 shell 确定当前的 CPU 利用率?

带有日期和时间的 Linux 命令历史记录

Linux:删除多个文件的文件扩展名

libaio.so.1:无法打开共享对象文件