Utilisez host.docker.internal sur Linux (docker-compose requis)

TL;DR

Décrivez ce qui suit dans docker-compose.override.yaml

yaml:docker-compose.override.yaml


version: "3.5" # docker-compose.Match avec la version yaml

services:
  app: # host.docker.Nom du service pour lequel vous souhaitez utiliser interne
    extra_hosts:
      - "host.docker.internal:172.101.0.1" #Correspondre à la spécification de sous-réseau ci-dessous

networks:
  default:
    driver: bridge
    ipam:
      config:
        - subnet: 172.101.0.0/16 #Spécifiez de ne pas chevaucher avec d'autres réseaux

paramètres du pare-feu

Si le pare-feu est en cours d'exécution, vous devrez peut-être autoriser l'accès à partir du sous-réseau ci-dessus. Voici un exemple de commande de firewalld.

sudo firewall-cmd --permanent --zone=trusted --add-source=172.101.0.0/16

host.docker.internal

Un domaine spécial pour accéder au réseau de l'hôte à partir d'un conteneur, pris en charge par docker pour Mac et docker pour Windows. Depuis que mac est devenu le courant dominant des développeurs, il est facile à utiliser dans les projets et les utilisateurs de Linux ont des problèmes à chaque fois.

Support host.docker.internal DNS name to host Support host.docker.internal in dockerd on Linux [RFD] add configuration option to add host.docker.internal by default

Avec ces problèmes, host.docker.internal sera éventuellement disponible sur Linux, mais cela prendra un certain temps avant sa sortie, donc je décrirai la solution de contournement. Au contraire, le contenu du travail est tel que décrit ci-dessus, donc je vais écrire un commentaire.

docker-compose.override.yaml

Ce fichier est lu automatiquement lorsque vous exécutez la commande docker-compose, il est donc utile lors de l'écriture de vos propres paramètres que vous ne souhaitez pas inclure dans le référentiel. Cependant, il n'est pas lu automatiquement lorsque vous utilisez l'option -f, vous devez donc également spécifier ce fichier.

extra_hosts

Ajoutez le contenu à / etc / hosts du conteneur.

networks

Tous les conteneurs appartiennent au réseau nommé default sauf indication contraire, donc si vous écrivez les paramètres ici, ils seront automatiquement reflétés dans tous les conteneurs. Le sous-réseau par défaut du réseau est défini ici. Normalement, le sous-réseau du réseau est automatiquement sélectionné afin qu'il ne chevauche pas le réseau existant, mais cette fois je veux le réparer, donc je le sélectionne et le configure manuellement. L'hôte appartient à tous les réseaux et son adresse IP semble être "le bit le plus bas du masque de sous-réseau est défini sur 1." (Je n'ai pas trouvé une telle déclaration dans la documentation juste parce que je l'ai essayé et dit que c'était le cas, alors peut-être qu'il y a des cas où cela ne se produit pas.) Ainsi, si vous spécifiez cette adresse IP dans extra_hosts, vous pouvez attribuer un domaine.

Recommended Posts

Utilisez host.docker.internal sur Linux (docker-compose requis)
Utiliser Github Desktop sous Linux
Utiliser Linux sur Windows 10 (WSL2)
Utiliser les commandes Linux sur les appareils Android
Utilisez Numpy, Scipy, scikit-learn sur Amazon Linux
Je veux utiliser Linux sur mac
Pourquoi utiliser Linux
Démoniser les processus sous Linux
jblas sur Arch Linux
Comment utiliser le contrôleur audio C216 sur Arch Linux
Linux (WSL) sous Windows
Routeur NAT sur Linux
Utilisez pyvenv sous Windows
Développer .NET sur Linux
Wake on LAN sous Linux
Préparation à l'utilisation d'Ansible sur un serveur Linux existant
Je souhaite utiliser OpenJDK 11 avec Ubuntu Linux 18.04 LTS / 18.10
Surveiller le trafic sous Linux
Mettre à jour vscode sur Linux
Utilisez Ansible sur Windows
Utilisez QuTiP sur Windows
Utiliser pip sur Windows
[Astuces] Comment utiliser l'iPhone comme caméra Web sous Linux
Créer LiveUSB sur Linux
Fonctionnement Linux sur Win10
[Pour les débutants] Comment utiliser l'instruction for sous Linux (variables, etc.)
Lorsque vous souhaitez utiliser python 2.x sur Gentoo Linux moderne
Que faire si vous ne pouvez pas utiliser le WiFi sous Linux
Mémo de configuration NTP sous Linux
Installez Minecraft sur Arch Linux
Utilisez matplotlib sur Ubuntu 12 et Python
Installer Linux sur Chromebox
Rétrograder Mcomix avec Arch Linux
Jusqu'à docker-compose sur CentOS7
Utilisez music21 sur Google Colaboratory
Surveiller l'utilisation du disque sous Linux
Installez JDK sur Linux
Elixir = à l'aise avec Linux Mint
Enregistrement et lecture sous Linux
Vérification TTL avec un routeur Linux
Lire la tension du noyau sous Linux
Mettez jenv dans Amazon Linux
Commande df facile sur Linux
Linux sur Windows -1-: Présentation de Debian
Installez tomcat 5.5 sur Amazon Linux.
Présentation d'Elixir à Linux Mint
Utiliser matplot libwidget sur Mac
Utilisez WDC-433SU2M2 avec Manjaro Linux
Installation de Homebrew sur Amazon Linux 2
Collez le lien sous Linux
Utiliser Python sur Windows (PyCharm)
Construction de l'environnement Linux (sur environnement WSL)
Utilisez NeoPixel avec la tarte aux framboises
Je souhaite utiliser la traduction de raccourcis comme l'application DeepL même sous Linux