Docker集成具有奇怪的专有配置格式,非常难以预测且非常令人沮丧。
这是我想为我的容器运行的命令:
docker run -p 9999:9999 mycontainer
几乎是最简单的命令。我可以使用此命令启动我的容器,并看到在kitmatic中打开端口并从主机访问它。
我尝试通过单击CLI在docker run config中执行此操作并生成一个json设置文件(已经是wtf,这很奇怪而且很复杂)
它给了我这个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。
答案 0 :(得分:0)
似乎intellij docker集成要求您在dockerfile中使用EXPOSE显式声明开放端口。