我正在运行我的Docker容器,希望能击中它的端点。
在这个问题中,我提供了Dockerfile和gradle.build。 How to improve gradle.build file?
Docker镜像已成功构建,当我运行它时,我看到了Spring Boot的启动方式,包括“ Spring Boot徽标”和Tomcat started on port(s): 9090 (http) with context path ''
我使用pavelpolubentcev$ docker run -i -t -e SERVER_PORT=9090 messenger-auth-auth
尽管如此,当我尝试http://localhost:9090
却没有“ Could not get any response
”时,我无法访问端点。
运行docker ps -a
时,我可以看到图像正在运行:
9d31b3e2aa63 messenger-auth-auth "java -jar /app/mess…" 6 minutes ago Up 6 minutes 8080/tcp practical_nightingale
但是由于某些原因,我还会看到8080/tcp
我应该怎么做才能正确运行它并最终从端点获得答案?
感谢您的帮助,我很感激,我真的需要解决问题。
答案 0 :(得分:2)
在映像Dockerfile上的radio1
中定义了列出正在运行的容器时在输出中看到的8080/tcp
。但是该指令实际上并没有发布端口。
您必须将主机(计算机)端口映射到容器端口,才能将TCP / UDP从主机转发到容器。
也就是说,在您的情况下,运行容器的命令是:
EXPOSE
答案 1 :(得分:1)
将容器端口映射到外部端口:from skimage import measure
def make_mesh(image, threshold=+30, step_size=1):
print "Transposing surface"
p = image.transpose(2, 1, 0)
print "Calculating surface"
verts, faces, norm, val = measure.marching_cubes(p, threshold, step_size=step_size, allow_degenerate=True)
return verts, faces
第一个端口是外部端口(您现在要从主机访问该端口),第二个端口是内部端口(容器上的端口)。
您可以指定相同的外部端口。