dockerfile暴露端口无法telnet [英] dockerfile expose port cannot telnet
问题描述
我写dockerfile
i write dockerfile
EXPOSE 2181 2888 3888
和docker ps
and docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc644fe1ad0 00088267fb34 "/opt/startzookeeper…" 2 seconds ago Up 1 second 2181/tcp, 2888/tcp, 3888/tcp hopeful_curie
但是当我 telnet localhost 2181
尝试:: 1 ... telnet:连接至地址:: 1:拒绝连接尝试127.0.0.1 ... telnet:连接到地址127.0.0.1:连接远程登录被拒绝:无法连接到远程主机
Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused telnet: Unable to connect to remote host
为什么我不能通过telnet暴露的端口?我应该在dockerfile中添加什么吗?谢谢你的任何建议
why i cannot telnet the exposed port? should i add what to dockerfile? thanks your any suggestion
推荐答案
<代码> EXPOSE 只是添加到映像中的元数据(如"未公开Docker端口).
它实际上不会发布端口.
您需要确保 docker run
具有 -p
选项的图像,以便将容器端口实际发布到主机端口.
You need to make sure you docker run
the image with -p
option, in order to actually publish the container port to an host port.
-p=[]
将容器的端口或一系列端口发布到主机
格式:ip:hostPort:containerPort
|ip :: containerPort
|hostPort:containerPort
|containerPort
这篇关于dockerfile暴露端口无法telnet的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!