当前位置: 首页 > 知识库问答 >
问题:

PHP:在Docker容器中获取容器ID

花博厚
2023-03-14

如何使用PHP在容器本身中获取Docker容器ID?

我刚刚发现linux命令如下:

DOCKER_CID=$(cat /proc/1/cpuset | cut -c9-)

共有2个答案

黄弘新
2023-03-14

每个人的答案加在一起意味着在cotainer中运行以下命令后:

DOCKER_CID=$(cat /proc/1/cpuset | cut -c9-)

您可以通过以下方式获取id:

$docker_cid = getenv('DOCKER_CID'); 

如果您不知道如何在容器中运行该命令,以下是一些选项:

  • 使用docker exec-it运行它

这要归功于马尔钦,他已经回答了,但可能不够清楚。

赵越
2023-03-14

可以使用get_env()获取系统的环境变量

如果在CLI中运行ech$DOCKER_CID后,您获得了ID,那么您可以在PHP中使用此代码:

$docker_cid = getenv('DOCKER_CID'); 
 类似资料:
  • 问题内容: 从容器名称获取docker容器ID的命令是什么? 问题答案: 在Linux中: 或在OS X,Windows中: 您的容器名称在哪里。 如@llia Sidorenko所述,为避免产生误报,您可以使用正则表达式锚点,如下所示: 说明: 为了安静。仅输出ID 对所有人。即使您的容器未运行也能正常工作 用于过滤器。 容器名称必须以该字符串 开头 容器名称必须 结束 这个字符串

  • 从容器名称中获取Docker容器id的命令是什么?

  • 这个命令给出了运行容器ID的列表: 是否有获取容器名称列表的命令?

  • 问题内容: 我对docker,redis和任何类型的网络都是陌生的(至少我了解python!)。首先,我想出了如何获取redis docker映像并在docker容器中运行它: 据我了解,此Redis实例具有可用于连接其他容器的端口6379。 如果运行以下命令,则可以与redis实例进行交互并生成key:value对: 我已经弄清楚如何制作并运行安装了redis库的docker容器,该容器将运行p

  • 由于Docker从引擎版本20.10开始支持cgroup v2,因此它将自动在启用了cgroups v2的发行版上使用它。从容器中获取唯一容器ID的已知解决方案不再有效。 尝试与docker v20.10.8在Debian 11与阿尔卑斯山:最新。 cgroup v1的工作解决方案:如何从容器本身中获取DockerLinux容器信息? 正如docker参考中所述,对于cgroup v2,容器id在

  • 问题内容: 我想了解它们的配置,就像通过元数据获取有关EC2实例的信息一样。 我可以使用(假设正在侦听port ) 来获取它的一些数据,但是想知道是否有更好的方法,至少获取容器的完整ID,因为实际上缩短到了12个字符,而docker似乎对其执行了“最佳匹配”。 另外,如何获取docker主机的外部IP(除了访问EC2元数据(特定于AWS)之外) 问题答案: 我发现可以在/ proc / self