根据Docker的文档,我注意到如果我想检查我的Elasticsearch容器的内容文件,我需要使用带有-it标签的run命令。然而,经过一些谷歌搜索后,有人还建议我在命令中使用sh (背景部分中的链接)。我知道sh是用来为我创建一个与之交互的外壳的,但是它是如何在幕后工作的呢?它是否与从-it标记创建的tty链接在一起?sh是指基于linux的sh命令、docker sh命令、路径还是完全不同的东西?docker如何知道我所说的sh是什么意思,我在哪里可以找到关于这方面的文档? 我用这篇文章作为参考,以了解应该使用什么命令:How to see docker image contents
首先是一些背景知识。我最近安装了一些软件(实际上是TeX live ),安装程序将二进制文件放在非标准位置(/usr/local/texlive/2011/bin/x86_64-linux)。没问题,因为我可以更改中的$PATH以包含此目录。然而,我在Makefile中使用latex,Make说它找不到'latex‘。我最终意识到Make要求内核以一种独立于shell的方式运行latex。因此,我将所有latex可执行文件移动到/usr/local/bin,一切正常,大概是因为内核现在可以看到这些可执行文件。
如果这是正确的,我的问题是:当被要求运行程序时,内核在哪里寻找可执行文件,而