【问题标题】:Where "sh" comes from in the command $ docker run -it docker.elastic.co/elasticsearch/elasticsearch:7.3.1 sh“sh”来自命令 $ docker run -it docker.elastic.co/elasticsearch/elasticsearch:7.3.1 sh
【发布时间】:2020-01-08 14:57:49
【问题描述】:

根据 Docker 的文档,我注意到如果我想检查我的 Elasticsearch 容器的内容文件,我需要使用带有 -it 标签的 run 命令。但是,经过一些谷歌搜索后,有人还建议我在命令中使用sh(背景部分中的链接)。我知道sh 用于创建一个外壳供我与之交互,但它是如何在幕后工作的?它是否与从 -it 标签创建的 tty 链接在一起? sh 是指基于 linux 的 sh 命令、docker sh 命令、路径还是完全不同的东西? docker 怎么知道我所说的 sh 是什么意思,我在哪里可以找到这方面的文档?

我使用这篇文章作为了解使用什么命令的参考: How to see docker image contents

我在帖子中提到的命令:

$ docker run -it docker.elastic.co/elasticsearch/elasticsearch:7.3.1 sh

【问题讨论】:

    标签: docker elasticsearch containers


    【解决方案1】:

    sh 表示要在容器内运行的命令(严格来说,只有在镜像中没有指定 ENTRYPOINT 时才如此)。

    PATH 中的映像中必须包含sh 可执行文件。或者,您可以指定映像中可用的任何其他可执行文件。

    【讨论】:

      猜你喜欢
      • 2014-04-12
      • 2021-07-24
      • 2021-05-17
      • 2019-04-12
      • 2015-06-07
      • 2021-12-23
      • 1970-01-01
      • 2021-07-07
      • 2019-08-10
      相关资源
      最近更新 更多