要为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 base容器中启动交互式shell的命令是什么?
如今,默认情况下,高山图像将直接引导到/bin/sh
中,而无需指定要执行的shell:
$ sudo docker run -it --rm alpine
/ # echo $0
/bin/sh
这是因为alpine
image Dockerfiles现在包含一个CMD
命令,该命令指定容器启动时要执行的shell:CMD[“/bin/sh”]
。
在较旧的阿尔卑斯山图像版本(2017年之前)中,未使用CMD命令,因为Docker曾为CMD创建一个附加层,这导致图像大小增加。这是阿尔卑斯山图像开发者想要避免的事情。在最近的Docker版本(1.10)中,CMD不再占据一个图层,因此它被添加到alpine
图像中。因此,只要不覆盖CMD,最近的Alpine图像就会引导到/bin/sh
。
如需参考,请参阅Glider Labs对官方阿尔卑斯码头文件的以下promise:
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92c17cf53a96578d4900cb5b
通常,阿尔卑斯山Linux图像不包含bash
,相反,您可以使用/bin/ash
、/bin/sh
、ash
或仅sh
。
/垃圾箱/灰烬
docker run -it --rm alpine /bin/ash
/垃圾箱/垃圾箱
docker run -it --rm alpine /bin/sh
灰
docker run -it --rm alpine ash
嘘
docker run -it --rm alpine sh
我希望这些信息对你有所帮助。
ole@T:~$ docker run -it --rm alpine /bin/ash
(inside container) / #
上面使用的选项:
/bin/ash
是BusyBox提供的ash(Almquist Shell)问题内容: 我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。 接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var / jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主
我们有一个公开REST API的现有java应用程序。当它收到超文本传输协议请求时,它使用Runtime.getRuntime(). exe启动另一个java进程。 我们正在将此应用程序迁移到docker,我们希望将这些服务、一个容器中的REST应用程序和另一个容器中的其他组件分开。 有没有办法,REST应用程序可以在另一个docker容器中启动另一个应用程序?
我正在尝试在列表视图中启动一个新的活动。 当它下降到开始活动(意图)时,我可以通过调试器看到意图中的正确值。但是,当我在ItemDetail活动中执行getIntent()时,该意图没有值。mMap为空。 访问临时演员的代码是 这是怎么回事?我没有抓住正确的意图吗?我的价值观是如何丢失的?
问题内容: 要为Ubuntu映像启动交互式shell,我们可以运行: 但是,对于Alpine Docker映像运行此命令时,将得到以下结果: 在Alpine基本容器中启动交互式Shell的命令是什么? 问题答案: 上面使用的选项: 是BusyBox提供的Ash(Almquist Shell)。 退出时自动移除容器() 交互模式(即使未连接也保持STDIN打开) 分配伪TTY
我该怎么办?
根据这个github问题,应该可以用Upstart、cron等和Docker0.6或更高版本启动一个完整的容器,但我该如何做呢? 我在期待 就像 我会得到一个登录屏幕,但它没有显示任何内容。我也尝试使用ssh访问它,但没有成功。我正在使用Docker索引中的默认ubuntu图像。