容器:我是谁?

whomai

Linux 中我们可以使用 whoamiid 命令进行查询打印当前用户的信息。今天在容器的技术群里,碰到一个群友询问:如何查询自己当前在那个容器中?

question.png

我们都知道 Docker 在构建镜像时每一层镜像都有一个唯一镜像ID,同样每一个容器实例也都有其自己唯一的容器ID(叫:CONTAINER ID),我们可以有多种方式来确定当前自己的容器,譬如:通过容器ID、容器IP 这些唯一信息进行对比知道自己到底在那一个启动的容器中。想要获取这些信息我们可以通过 docker inspect <container> 的方式打印容器的详细信息。

如果你遵循的是:一个容器仅运行一个应用服务 的原则,也可以通过 ps 查看当前的服务进程知道答案。

这里说一个最简单的方式:通过对比 hostname 知道自己当前所在的容器。

/etc/hosts 会在每次容器启动的试试生成,只要不是通过挂载文件的方式进行了覆盖,那么一定会有一条记录 <容器IP> <容器ID>hosts 文件中。因此我们可以通过cat /etc/hostshostname 命令得到当前容器的 HostName 信息,然后和 docker ps 打印的容器列表信息进行对比,操作如下:

get-hostname

转载请声明出处: MinsonLee的博客:https://minsonlee.github.io

扫描下方二维码,关注公众号,接收更多实时内容

新猿呓码

打赏一个呗

取消

感谢客官打赏,您的打赏使我动力十足!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦