当我尝试在create选项中创建第二个端口时,它会正确地创建第一个端口,但不会创建第二个端口。
"createOptions": {
"Env": [
"DATA_DIR=/tmp/localstack/data",
"DOCKER_HOST=unix:///var/run/docker.sock",
"SERVICES=apigateway"
],
"Image": "localstack/localstack:0.12.10",
"name": "commandeer-localstack-default-local",
"ExposedPorts": {
"443/tcp:": {}
},
"HostConfig": {
"PortBindings": {
"4566/tcp": [
{
"HostPort": "4566"
}
],
"443/tcp": [
{
"HostPort": "443"
}
]
},
"AutoRemove": true,
"Binds": [
"/var/run/docker.sock:/var/run/docker.sock"
]
}
}这应该公开4566和443,但是当我检查新创建的容器时,它有这个信息。
"Bridge": "",
"SandboxID": "f55fe8aad382e3fb418c419bdee6ad52c2540c160b93d0f7164a5cd8088ea00a",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"443/0": null,
"4566/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "4566"
}
],
"4571/tcp": null,
"8080/tcp": null
},您可以看到4566设置正确,但443/0 : 443端口设置为空。我试过在没有ExposedPorts部分的情况下这样做,改变了HostOptions的顺序,等等,但它仍然不起作用。有什么想法吗?
发布于 2021-07-13 21:01:25
所以,我终于让它起作用了。我将HostIp设置为空字符串。我仍然需要使用443的ExposedPorts。但这对我来说很管用。
"createOptions": {
"Env": [
"DATA_DIR=/tmp/localstack/data",
"DOCKER_HOST=unix:///var/run/docker.sock",
"SERVICES=apigateway"
],
"Image": "localstack/localstack:0.12.10",
"name": "commandeer-localstack-default-local",
"ExposedPorts": {
"443/tcp:": {}
},
"HostConfig": {
"PortBindings": {
"4566/tcp": [
{
"HostPort": "4566",
"HostIp": ""
}
],
"443/tcp": [
{
"HostPort": "443"
"HostIp": ""
}
]
},
"AutoRemove": true,
"Binds": [
"/var/run/docker.sock:/var/run/docker.sock"
]
}
}
``https://stackoverflow.com/questions/68320098
复制相似问题