docker集成有一种奇怪的专有配置格式,它非常不可预测,令人沮丧。
这是我想为我的容器运行的命令:
docker run -p 9999:9999 mycontainer
这几乎是最简单的命令。我可以用这个命令启动我的容器,看到端口在kitmatic中打开,并从主机访问它。
我尝试在docker run config中点击CLI来做这件事,并生成了一个json设置文件(这已经很奇怪和令人费解了)
它给了我这个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也不显示它是打开的。
我如何让它作为运行配置工作?如何查看intellij实际运行的docker命令?也许它只是在编程上使用API。
发布于 2018-02-20 02:13:31
intellij docker集成似乎需要您在dockerfile中显式地使用EXPOSE声明开放端口。
https://stackoverflow.com/questions/48871770
复制相似问题