通过api创建的绑定Docker容器

问题描述 投票:2回答:1

我有一个创建Docker容器的命令,从Docker容器创建],并且我想将端口绑定到主机

exec(`curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -d '{ "Image": "strategy_baseline", "ExposedPorts": { "${PORT}/tcp": {} }, "HostConfig": { "Binds": ["strategies:/usr/src/app/strategies"], "NetworkMode": "titan_backend" }, "PortBindings": { "${PORT}/tcp": [{ "HostPort": "${PORT}" }]}, "Env": ["BOTNAME=${BOT_ID}", "PORT=${PORT}", "ASSETS=${ASSETS}"]}' -X POST http:/v1.4/containers/create?name=${BOT_ID}`,

所有变量都在文件中正确定义,因此不存在错误。

按现状,我通过API端点调用此命令,并且在运行docker ps输出的正确端口上正确创建了容器:

CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                          PORTS                                                 NAMES
ab8e28ccd50f        strategy_baseline           "docker-entrypoint.s…"   2 hours ago         Up 2 hours                      3009/tcp                                              defaultKeys

Id期望将容器端口指定为0.0.0.0:3009->3009/tcp。但是a,这行不通。

我知道我可以通过指定容器的名称来调用该容器,因此从网络中的任何其他容器中我都可以http://container_name:3009/endpoint

但理想情况下,我应该能够:hhtp://vps_ip:3009/endpoint到目前为止我还不能做到。

非常感谢任何指针或帮助,谢谢!!

我有一个从Docker容器创建docker容器的命令,我想将端口绑定到主机exec(`curl --unix-socket /var/run/docker.sock -H“ Content-Type: application / json“ -d'{...

docker docker-networking docker-api
1个回答
0
投票

此修改成功了

© www.soinside.com 2019 - 2024. All rights reserved.