一般我們在架設服務時可以直接透過 localhost 或 127.0.0.1 來連線本機其他服務,通常就是 Web 後端與 SQL 資料庫間就常常會需要用到,不過如果我們用 Docker Compose 建立容器把服務放入,但資料庫仍在本機,那該如何連線呢?
答案如下:
services:
app:
image: app:latest
container_name: app
restart: always
network_mode: bridge
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "80:80"
docker-compose.yml 這樣寫,服務內只要以 host.docker.internal 連線至本機即可。