是否可以在docker compose文件中将有关NetworkSetting的容器信息设置到环境变量中?
我有以下docker-compose.yml文件:
version: '3.7'
services:
sdt-proxy:
image: myimage
ports:
- 32770-32780:8181
environment:
- SERVER_PORT=8181
它将端口8181映射到32770-32780中的随机端口。当我使用docker-compose up
运行容器时,我可以使用docker inspect
查看映射的端口:
.....
"NetworkSettings": {
"Bridge": "",
"SandboxID": "83e6933aaf7b09b8ae1238d3dbb71bdd495c14927a5a509b332afc17cda6d854",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"8181/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "32771"
}
]
},
...
因此,我知道内部端口8181(我的应用程序在容器中运行)已映射到端口32771。
我需要将此信息(容器端口32771)传递给我的应用程序,是否可以在docker-compose文件中执行类似的操作?
version: '3.7'
services:
sdt-proxy:
image: myimage
ports:
- 32770-32780:8181
environment:
- SERVER_PORT=8181
- MY_CONTAINER_PORT= <the running container port 32771>