Notice for Japanese: 今回は FLINTERS ブログ祭りの一環で記事を書いています
TL;DR
Update docker to 20.10.0 or later.
Create
docker-compose.override.yml
write followings into
docker-compose.override.yml
services:
MY_SERVICE:
extra_hosts:
- "host.docker.internal:host-gateway"
It is needed to be replaced MY_SERVICE
to your service name.
What is "host.docker.internal" ?
"host.docker.internal" is a magic name of a gateway. It is defined on "Docker Desktop for Mac/Windows" by default but not on the others. So it is possible to use "host.docker.internal" on macOS and Windows by default. But the others require you to define it yourself.
How to define "host.docker.internal"
The docker-compose.yml already in the VCS repository is as following:
services:
proxy:
image: nginx
Then your docker-compose.override.yml
need to be:
services:
proxy:
extra_hosts:
- "host.docker.internal:host-gateway"
Top comments (2)
This was helpful, didn't realize that wasn't available on the Linux Docker install out of the box. One correction though, in the yml files, it should be "services:" instead of "service:".
Thanks for pointing that out. I've update yml files :-)