泊坞窗暴露链接主办机
问题描述:
我使用的是泊坞窗,compose.yml文件的应用服务和数据库服务:泊坞窗暴露链接主办机
version: '2'
services:
app-service:
image: app-image
container_name: app-container
ports:
- "5000:5000"
networks:
- my-network
links:
- db-service
db-service:
image: db-image
container_name: db-container
ports:
- "5432:5432"
networks:
- my-network
networks:
my-network:
driver: bridge
应用服务使用连接字符串连接到数据库与dB服务为主机:
"User ID=postgres;Password=password;Host=db-service;Port=5432;Database=my-table;Pooling=true;"
正在运行的应用程序容器上正常工作,但我还需要使用相同的连接字符串从我的主机町访问数据库东北。 (在开发过程中数据库迁移)
我想过添加路由我的主机:
dB服务 - >本地主机但由于它取决于主机,这不是一个很好的解决方案操作系统。我试图在连接字符串中使用localhost,因为我的主机连接到数据库容器。但显然,应用程序容器将不再连接。
我也打得四处network_mode设置和网络驱动在撰写文件,但有与没有运气。
如何在容器中使用与我的主机相同的主机名?
答
只有这样,你可以使用相同的连接字符串为您的应用程序,服务和你的主机将更新您的主机的/etc/hosts
文件有:
127.0.0.1 db-service
(或使用你的,如果你在运行Docker机)
但是这个解决方案可能不是最干净的。 IMO最好不要使用相同的连接字符串。