我正试图在远程机器上运行资源图表服务。运行源图的说明如下
https://about.sourcegraph.com/docs/server
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上运行,这样我就可以从远程机器访问服务。
试试看不管用。
docker run --publish 0.0.0.0:7080:7080 ...上面写着,它正在运行这个服务
Sourcegraph is now running at http://localhost:7080有什么建议吗?这可能是源图的问题吗?
发布于 2018-01-04 21:19:06
--publish 7080:7080该选项使对接者侦听所有主机接口,并将通信量从主机端口7080转发到容器的端口7080。容器必须侦听其网络命名空间内的所有接口才能工作(docker不能与容器的网络命名空间内的回送接口对话)。
Sourcegraph is now running at http://localhost:7080这实际上是来自您的应用程序的误导性信息(这并不来自docker本身)。使用net举测试此映像显示容器正在侦听所有接口:
$ 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到达您的容器。
https://stackoverflow.com/questions/48100504
复制相似问题