intellij docker integration无法打开端口

时间:2018-02-19 18:01:01

标签: docker intellij-idea intellij-plugin

Docker集成具有奇怪的专有配置格式,非常难以预测且非常令人沮丧。

这是我想为我的容器运行的命令:

docker run -p 9999:9999 mycontainer

几乎是最简单的命令。我可以使用此命令启动我的容器,并看到在kitmatic中打开端口并从主机访问它。

我尝试通过单击CLI在docker run config中执行此操作并生成一个json设置文件(已经是wtf,这很奇怪而且很复杂) enter image description here

它给了我这个json:

{
  "AttachStdin" : true,
  "Tty" : true,
  "OpenStdin" : true,
  "Image" : "",
  "Volumes" : { },
  "ExposedPorts" : { },
  "HostConfig" : {
    "Binds" : [ ],
    "PortBindings" : {
      "9999/tcp" : [ {
        "HostIp" : "",
        "HostPort" : "9999"
      } ]
    }
  },
  "_comment" : ""
}

然后我执行run config并根据intellij打开端口(在docker选项卡的Port Bindings部分下查看)。但它不公开。它无法从主机访问,kitmatic也无法显示它。

如何将其作为运行配置运行?如何查看docker命令intellij实际运行的是什么?也许它只是以编程方式使用API​​。

1 个答案:

答案 0 :(得分:0)

似乎intellij docker集成要求您在dockerfile中使用EXPOSE显式声明开放端口。