php - 在 docker 内部,访问容器名称
问题描述
我有我的 docker-compose 文件。它工作正常。此时,我希望能够访问 docker 实例中的容器名称(如master_app
或slave_app_1
)。
version: '3.8'
services:
master_app:
build:
context: ./docker/app
dockerfile: Dockerfile
image: my-image/app
ports:
- "50000:80"
volumes:
- .:/var/www/laravel-app
networks:
- laranet-net
slave_app_1:
build:
context: ./docker/app
dockerfile: Dockerfile
image: my-image/app
ports:
- "80"
volumes:
- .:/var/www/laravel-app
networks:
- lara-net
在 docker 内部,我安装了 php (laravel),使用 phpgetHostName()
可以获得容器 ID。
NAME SERVICE STATUS PORTS
lara-app_master_app_1 master_app running 0.0.0.0:50000->80/tcp, :::50000->80/tcp
lara-app_slave_app_2_1 slave_app_2 running 0.0.0.0:51175->80/tcp
- 有没有办法获得容器名称:“master_app”/“slave_app_1”?
我需要这个的原因是为了.env
为 Laravel 加载正确的文件。
我尝试过的一种非常糟糕的方法是使用$_SERVER['HTTP_HOST']
,但它不适用于 CLI。
解决方案
推荐阅读
- excel - 将列中的文本分为两列(文本和数字) - Google 工作表或 Excel
- c++ - Scrollbar->setValue 函数似乎无法正常工作
- powerbi - Power BI:使用生成系列将渐变绑定到切片器的简单直线图
- javascript - 当我尝试从 JS ES6 中的另一个 JS 文件调用方法时观察到未定义
- fabricjs - 在放大织物 js 时保持对象大小和位置
- java - 如何从String java中提取未知数字
- flutter - 截屏隐藏 Flutter 中的一些小部件
- node.js - 为什么heroku中总是出现请求超时错误
- javascript - JavaScript中字符串内的字符串
- visual-studio-code - 如何使用 JSDoc 定义字符串文字联合类型