我正在尝试使用 docker 的远程 API 启动 docker 容器。我可以启动容器,但无法公开容器的端口并将其映射到主机端口。

我需要远程 API JSON 来执行 ssh 命令

docker run -i -t --expose 80 -p 80:80 my_image_nodejs nodejs /var/www/server.js

现在我正在使用以下 JSON。
{
    "Image": "f96f6e304cfcd630ee51af87baf30dfd42cf1f361da873a2f62ce6654d7a4c6b",
    "Memory": 0,
    "MemorySwap": 0,
    "VolumesFrom": "",
    "Cmd": [
        "nodejs",
        "/var/www/server.js",
        "-D"
    ],
    "PortBindings": {
        "80/tcp": [
            {
                "HostIp": "0.0.0.0",
                "HostPort": "80"
            }
        ]
    },
    "ExposedPorts": {
        "80/tcp": {}
    }
}

提前致谢

最佳答案

这对我有用:

容器创建 :

ExposedPorts: {"80/tcp": {}, "22/tcp": {}}

容器启动 :

PortBindings: {"80/tcp": [{ "HostPort": "80"}],"22/tcp": [{ "HostPort": "22"}]
}

如果您知道如何设置 Env,我刚刚发送了我的问题 :-)

关于-p 80 :80? 的 Docker 等效远程 API 命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24104086/

10-13 07:46