【问题标题】:PHP: Get Container ID in Docker ContainerPHP:在 Docker 容器中获取容器 ID
【发布时间】:2019-06-29 02:41:03
【问题描述】:

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

我刚刚发现 linux 命令为 here:

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

【问题讨论】:

标签: php docker containers php-7.2


【解决方案1】:

每个人的答案结合起来意味着在容器中运行以下命令后:

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

您可以使用以下方式获取 id:

$docker_cid = getenv('DOCKER_CID'); 

如果您不知道如何在容器中运行该命令,这里有一些选项:

  • 使用:docker exec -it <containerId> /bin/bash 运行它
  • 制作一个 PHP 脚本:exec('DOCKER_CID=$(cat /proc/1/cpuset | cut -c9-)');(我不建议这样做,但如果有人使用它,请确保它是安全的。)

感谢 Marcin,他已经回答了这个问题,但可能还不够清楚。

【讨论】:

    【解决方案2】:

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

    如果在 CLI 中运行 echo $DOCKER_CID 后获得 ID,则可以在 PHP 中使用此代码:

    $docker_cid = getenv('DOCKER_CID'); 
    

    【讨论】:

    • 好的,但是这个解决方案需要先设置环境变量:-(
    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 2021-08-20
    • 2019-06-06
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多