首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在0.0.0.0而不是127.0.0.1上运行sourcegraph映像

在0.0.0.0而不是127.0.0.1上运行sourcegraph映像
EN

Stack Overflow用户
提问于 2018-01-04 17:27:15
回答 1查看 870关注 0票数 0

我正试图在远程机器上运行资源图表服务。运行源图的说明如下

https://about.sourcegraph.com/docs/server

代码语言:javascript
复制
docker run \
 --publish 7080:7080 --rm \
 --volume /tmp/sourcegraph/config:/etc/sourcegraph \
 --volume /tmp/sourcegraph/data:/var/opt/sourcegraph \
 sourcegraph/server:2.3.11

这会在127.0.0.1上运行根图,我想在0.0.0.0上运行,这样我就可以从远程机器访问服务。

试试看不管用。

代码语言:javascript
复制
docker run --publish 0.0.0.0:7080:7080 ...

上面写着,它正在运行这个服务

代码语言:javascript
复制
Sourcegraph is now running at http://localhost:7080

有什么建议吗?这可能是源图的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-04 21:19:06

代码语言:javascript
复制
--publish 7080:7080

该选项使对接者侦听所有主机接口,并将通信量从主机端口7080转发到容器的端口7080。容器必须侦听其网络命名空间内的所有接口才能工作(docker不能与容器的网络命名空间内的回送接口对话)。

代码语言:javascript
复制
Sourcegraph is now running at http://localhost:7080

这实际上是来自您的应用程序的误导性信息(这并不来自docker本身)。使用net举测试此映像显示容器正在侦听所有接口:

代码语言:javascript
复制
$ docker ps
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                    PORTS               NAMES
687f9749d99c        sourcegraph/server:2.3.11        "/sbin/tini -- /usr/…"   43 minutes ago      Up 43 minutes                                 keen_torvalds
...

$ docker run -it --rm --net container:687f9749d99c nicolaka/netshoot /bin/sh
/ # netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      
tcp        0      0 127.0.0.1:5005          0.0.0.0:*               LISTEN      
tcp        0      0 127.0.0.1:3700          0.0.0.0:*               LISTEN      
tcp        0      0 :::7080                 :::*                    LISTEN      
tcp        0      0 :::3178                 :::*                    LISTEN      
tcp        0      0 :::3179                 :::*                    LISTEN      
tcp        0      0 :::6379                 :::*                    LISTEN      
tcp        0      0 :::6060                 :::*                    LISTEN      
tcp        0      0 :::3180                 :::*                    LISTEN      
tcp        0      0 :::3181                 :::*                    LISTEN      
tcp        0      0 :::3090                 :::*                    LISTEN 

:::7080行显示容器正在所有接口上侦听此端口。只要您的网络允许,您应该能够通过主机IP端口7080到达您的容器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48100504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档