it-swarm.dev

Was ist Linux-Äquivalent zu "docker.for.mac.Host.internal"

Auf Mac und Windows ist es möglich, zu verwenden docker.for.mac.Host.internal (ersetzt docker.for.mac.localhost) und docker.for.win.Host.internal (ersetzt docker.for.win.localhost) Host.docker.internal (Docker 18.03+) im Container.

Gibt es eine für Linux, die sofort funktioniert, ohne env-Variablen zu übergeben oder mit verschiedenen cli-Befehlen zu extrahieren.

21
klor

Kommt darauf an, was du zu tun versuchst. Wenn Sie mit --net=Host Arbeiten, sollte localhost gut funktionieren. Wenn Sie ein Standardnetzwerk verwenden, verwenden Sie die statische IP-Adresse 172.17.0.1. Ich vermute, keiner von beiden wird sich genauso verhalten wie diese Domains.

12
mark

Eine Lösung besteht darin, einen speziellen Container zu verwenden, der den Datenverkehr zum Host umleitet. Einen solchen Container finden Sie hier: https://github.com/qoomon/docker-Host . Die Idee ist, die Standardroute aus dem Container zu übernehmen und diese als NAT Gateway für eingehende Verbindungen zu installieren.

Unten ein imaginäres Anwendungsbeispiel:

docker-Host:
  image: qoomon/docker-Host
  cap_add: [ 'NET_ADMIN', 'NET_RAW' ]
  restart: on-failure
  environment:
    - PORTS=999

some-service:
  image: ...
  environment:
    SERVER_URL: "http://docker-Host:999"
  command: ...
  depends_on:
    - docker-Host
10
Jonas Chapuis