host.docker.internal
host.docker.internal
docker 環境からホストをみたい場合に使える。
docker 環境で localhost
すると当然自身の docker 環境を指し示すわけだが、
host.docker.internal
を指定することでホストを見にいくことができる。
mac と Windows で使えるらしい。
Dockerコンテナ内からホストへlocalhost
でアクセスしてみる - Qiita
docker-compose.yml の service名及びcontainer_name
これらもホスト名になる。
この場合、 networks
を定義して、
version: '3.5'
services:
dynamodb-local:
image: amazon/dynamodb-local:latest
container_name: dynamodb-local
ports:
- "8000:8000"
command: -jar DynamoDBLocal.jar -dbPath /data
volumes:
- $PWD/dynamodb:/data
networks:
- dynamodb-local-nw
networks:
dynamodb-local-nw:
name: aws-sam-local-nw
例えば aws sam だと --docker-network
でネットワークの名前を指定して合わせてあげる。
$ sam local start-api --docker-network aws-sam-local-nw
そうすると sam の docker 内から dynamodb-local
という名前で、ホストのサービスにアクセスできる。