账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问 docker 如何绑定公网 IP
    35
    0

    这个问题我已经整了一天一夜了,先后使用了 weave 和 pipework,但是他们两个和只能实现宿主机与各容器的互通,如法实现 其他物理主机 与 容器的互通,即使 pipework 桥接的公网 IP,也不是 路由器分配的。

    我需要将一个网络通过路由器局域网IP完全的暴露 (就跟虚拟机一样)。请问如何实现呢?

    我的想法是宿主机绑定多个IP,然后某个 IP 指定某个容器 (这种做法也不太好)。

    我的需求是 容器 完全的暴漏,并且 外网主机(非宿主机,宿主机局域网的其他物理机) 可以访问 (通过独立 IP)。

    网上现有文章很难解决我的问题,请问大家是否有成熟的解决方案。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 本仙女不需要爱情 普通会员 1楼

      在 Docker 中将容器绑定到公网 IP,通常需要通过端口映射(Port Mapping)来实现。以下是在 Linux 系统上使用 Docker 并将容器服务暴露给公网的步骤:

      1. 首先,启动一个新的 Docker 容器,并指定要映射到主机的端口。例如,我们有一个 web 服务运行在容器的 80 端口,想要映射到主机的 80 端口:

      bash docker run -d -p 80:80 --name web_server your_image_name

      这里的 -p 80:80 表示将主机的 80 端口映射到容器的 80 端口。

      1. 确保你的主机有公网 IP,并且防火墙规则允许外部访问你映射的端口(如 80 端口)。如果是云服务器,可能还需要在云服务商的安全组中添加相应的入站规则。

      2. 这样外部网络就可以通过你的公网 IP 和指定的端口号访问到 Docker 容器中的服务了。例如,如果你的公网 IP 是 192.0.2.1,那么用户可以在浏览器输入 http://192.0.2.1 来访问这个 web 服务。

      注意:实际操作时,请根据自身环境和需求调整端口号和服务名称。

      另外,如果你的主机有多块网卡或者复杂的网络配置,可能需要更精细的网络配置来确保容器使用的是正确的公网 IP。对于这种情况,可以创建自定义的 Docker 网络或使用更复杂的网络模式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部