2017-01-01 174 views
1

我使用docker-compose来启动Docker容器内的几个服务。像mongodb这样的其他一些服务正在主机的机器上运行,而不是在Docker容器中运行。我需要从docker容器内部连接mongodb。使用docker-compose访问Docker容器内的主机IP

我该如何使用docker-compose来实现这个目标?

+0

你能详细点吗?至少添加您的.yml文件 – user2915097

+0

我有一个非常简单的撰写文件这里是只有一个服务在里面运行的yml文件。该服务需要访问不同服务器上托管的mongodb服务器。 '版: '2' 服务: 用户管理服务: 图像:用户管理服务 CONTAINER_NAME:userManagement 端口: - “8091:8091” ' – krajwade

回答

1

我猜有一种方法可以实现这一点,但这是一个非常糟糕的做法。您想要将您的主机与容器隔离开来。容器不能通过设计访问主机,你不应该绕过这个。

最好的做法是运行在应用程序容器的同一主机上的mongodb容器,将它们链接在一起,以便它们可以相互通信。

+0

在某些情况下,我可能无法直接访问数据库。它可能安装在客户端机器上,我只能读取访问权限。 – krajwade

+0

我不明白这是如何改变我写的。你的应用和数据库的租赁也是一个不好的做法(如果你理解你正确描述的情况) –

+0

我的意思是说,由于数据库(mongodb)由客户端管理,它们不在任何容器内运行(docker )。它们直接在主机上运行,​​我将不得不使用公共IP连接它。 – krajwade

相关问题