docker - 从 docker 容器连接到 ubuntu 端口

标签 docker ubuntu networking

我有一个应用程序在我的本地机器上的 8180 端口上运行
当我尝试 wget http://192.168.1.12:8180/auth从 docker 容器,
我收到以下错误

--2019-10-10 08:17:03--  http://192.168.1.12:8180/auth
Connecting to 192.168.1.12:8180... failed: Connection refused.

我试过以下
❯ sudo ufw status                                                                                                                                        [14:17:44]
Status: active

To                         Action      From
--                         ------      ----
8180/tcp                   ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
8180/tcp (v6)              ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             

仍然得到同样的错误。

如何解决这个问题?

最佳答案

您需要在 Docker 中使用网桥。如果 192.168.1.12 确实是您主机的 IP,则此命令将创建一个网络 'dockernet'

$ docker network create -d bridge --subnet 192.168.1.0/24 --gateway 192.168.1.12 dockernet

运行容器时使用此网络:
$ docker run --net=dockernet [...]

另一种方法是使用容器的“主机”网络驱动程序,如果您发现缺少网络隔离可以满足此目的。见 Host networking及其tutorial了解更多信息。

一般情况下,Docker's network documentation是推荐且易于阅读的。

关于docker - 从 docker 容器连接到 ubuntu 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58320407/

相关文章:

c# - Azure 应用服务容器上的 ASP.net core docker https

python-2.7 - 在 Ubuntu 上运行 pyspark.mllib

Python3套接字模块: decoding str

c - 访问pcap文件头

postgresql - 使用 Postgres DB 引擎的 Docker 容器上的 SonarQube 管理员密码

mongodb - 无法链接 mongo docker 容器

postgresql - 来自另一个容器内部的 Docker 端口不匹配

c++ - CGAL新手---入门难点: CGAL_Qt5 Returns FALSE in CMake

ubuntu - 在 Ubuntu 机器上重启 Kubernetes

linux - 跟踪 IGMP 查询的来源