docker - 如何将docker容器ip暴露给外网?

标签 docker networking kubernetes

我想将容器 ip 暴露给主机运行的外部网络,以便我可以直接从外部机器 ping docker 容器 ip。
如果我从外部机器 ping docker 容器 ip,其中托管 docker 的机器和我从中 ping 的机器在同一个网络中,我需要从这些机器获得响应

最佳答案

从另一台机器 ping 容器的 IP(即当您查看 docker inspect [CONTAINER] 时显示的 IP)不起作用。但是,可以通过其主机的公共(public) IP 访问容器。

除了 Borja 的回答,您可以通过添加 -p [HOST_PORT]:[CONTAINER_PORT] 来公开 Docker 容器的端口。给您的docker run命令。

例如。如果您想从另一台机器访问 Docker 容器中的 Web 服务器,您可以使用 docker run -d -p 80:80 httpd:alpine 启动它.容器的端口80然后可以通过主机的端口 80 访问.同一网络上的其他机器也将能够访问此容器中的网络服务器(当然取决于防火墙设置等......)

关于docker - 如何将docker容器ip暴露给外网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849294/

相关文章:

java - NAT 后面的两台主机使用什么协议(protocol)进行 P2P 文件传输?

networking - Mikrotik 脚本 : Get Interface IP

python - 有没有一种方法可以安排 docker 容器相互运行?

docker - 使用Ha Proxy负载均衡docker swarm

java - 生成 pdf PDFBox headless docker 容器失败

docker - 如何批量删除特定的正在运行的Docker容器

c++ - pthread_mutex_lock错误

kubernetes - 等待kubernetes作业完成

kubernetes - Kubeadm和在主节点上调度Pod的风险(Pod始终处于等待状态)

node.js - 如何有条件地在 docker 中运行 Sequelize 种子数据命令与 package.json(或其他地方)中的变量组合?