8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

有没有办法将绑定到 127.0.0.1 的 docker 容器端口公开给主机?

molbdnilo 2月前

86 0

我在一个绑定到 127.0.0.1:8888 的容器内运行一个服务。我想向主机公开这个端口。docker-compose 支持这个功能吗?我在 docker-compose.yml 中尝试了以下内容,但没有成功。

我在容器内运行一个服务,该服务绑定到 127.0.0.1:8888 .
我想将这个端口公开给主机。
docker-compose 支持这个吗?

我尝试了以下操作, docker-compose.yml 但没有效果。

expose: 
  - "8888"
ports:
  - "8888:8888"

PS 在我看来,将服务绑定到容器内的 0.0.0.0 是不可能的。


更新:提供一个简单的例子:

docker-compose.yml

version: '3'
services:  
  myservice:
    expose: 
      - "8888"
    ports:
      - "8888:8888"
    build: .

Dockerfile

FROM centos:7
RUN yum install -y nmap-ncat
CMD ["nc", "-l", "-k", "localhost", "8888"]

命令:

$> docker-compose up --build
$> # Starting test1_myservice_1 ... done
$> # Attaching to test1_myservice_1

$> nc -v -v localhost 8888
$> # Connection to localhost 8888 port [tcp/*] succeeded!
TEST
$>

在控制台中 TEST 输入后, 连接已关闭 ,这意味着 尽管最初显示成功消息,但 端口并未真正暴露
但是如果我绑定到容器内的 0.0.0.0(而不是 localhost),一切都正常工作。

帖子版权声明 1、本帖标题:有没有办法将绑定到 127.0.0.1 的 docker 容器端口公开给主机?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由molbdnilo在本站《docker》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 将我的 React Native 项目升级到 0.74.3 版本后,我遇到了一个问题。该应用程序在 0.64.4 版本上运行良好,但升级后,我在尝试使用时收到错误

    将我的 React Native 项目升级到 0.74.3 版本后,我遇到了一个问题。该应用程序在 0.64.4 版本上运行良好,但升级后,我在尝试使用 RNFusedLocation.getCurrentPosition 时收到错误

    **项目配置详情:**

    React Native Version: ^0.74.3 (was working fine on ^0.64.4)
    Google Play Services Location Version: 21.3.0
    Library used: "react-native-geolocation-service": "^5.3.1"
    

    **Gradle 配置:**

    googlePlayServicesLocationVersion = "21.3.0" . implementation 'com.google.android.gms:play-services-location:21.3.0'

    **错误信息:**

    `Could not invoke RNFusedLocation.getCurrentPosition
    
    null
    
    Found interface com.google.android.gms.location.SettingsClient, but class was expected
    (declaration of 'com.google.android.gms.location.SettingsClient' appears in /data/app/...)
    `
    

    我尝试更新项目中的 Google Play 服务版本。最初,我有:

    googlePlayServicesLocationVersion = "21.3.0"  // Or higher.
    implementation 'com.google.android.gms:play-services-location:21.3.0'
    

    然后我尝试降级到:

    googlePlayServicesVersion = "17.0.0"
    implementation 'com.google.android.gms:play-services-location:21.3.0'
    

    然而,尽管做出了这些改变,问题仍然存在。

返回
作者最近主题: