dockerfile暴露端口无法telnet [英] dockerfile expose port cannot telnet

查看:144
本文介绍了dockerfile暴露端口无法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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆