Vous pouvez accéder au port depuis l'intérieur du conteneur.
Vérifiez avec la commande $ curl URL
qui affiche le contenu de la page WEB.
Il existe deux méthodes de connexion: (1) spécifiant le port du conteneur et (2) spécifiant le port hôte.
-Docker exec -it [nom du conteneur] bash
Vous pouvez maintenant accéder au bash à l'intérieur du conteneur. Selon le conteneur, il peut s'agir de sh au lieu de bash.
▼ Lors de l'accès direct au port du conteneur
-Curl http: // [nom du conteneur]: [port côté conteneur]
▼ Lors de l'accès au port côté hôte
-Curl http: //host.docker.internal: [port côté hôte]
Vérifiez le conteneur en cours d'exécution
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4ae7996f53c django_web "python manage.py ru…" 10 hours ago Up 10 hours 0.0.0.0:8100->8000/tcp django_web_1
・ 0.0.0.0:8100-> 8000 / tcp
C'est important!
"Numéro de port côté hôte-> Numéro de port dans le conteneur"
«0.0.0.0» représente l'accès depuis tous les ports, pas localhost.
Ainsi, "0.0.0.0:8100-> 8000" signifie mapper tous les 8100 accès au port 8000 dans le conteneur.
Entrez dans le conteneur
$ docker exec -it django_web_1 bash
root@d4ae7996f53c:/code#
Démarrez bash avec le nom de conteneur "django_web_1".
python
root@d4ae7996f53c:/code# curl http://django_web_1:8000
http: // nom du conteneur: numéro de port côté conteneur
, vous pouvez accéder au port spécifié par le conteneur.
Exemple d'erreur
root@d4ae7996f53c:/code# curl http://django_web_1:8100
curl: (7) Failed to connect to django_web_1 port 8100: Connection refused
python
root@d4ae7996f53c:/code# curl http://host.docker.internal:8100
host.docker.internal
est le DNS préparé du côté docker. Correspond à localhost du côté hôte.
C'est de l'extérieur du conteneur
Identique à l'exécution de curl http: // localhost: 8100
.
Sortez du conteneur
root@d4ae7996f53c:/code# exit
$
c'est tout.
Recommended Posts