Impossible d'accéder à l'application Docker à partir du navigateur

règle_mate

J'ai une API .NET Core 2.1 qui, lorsqu'elle est exécutée via Visual Studio dans Windows, reçoit un HTTP GET du navigateur et renvoie avec succès les données d'une base de données MySQL.

J'ai essayé d'ajouter l'API à un conteneur Docker (dans Ubuntu) - cela se construit, mais je ne peux pas accéder à l'API depuis le navigateur:

Firefox

Ce que j'ai essayé :

  • Vérification des ports disponibles. Voici la sortie pertinente:

entrez la description de l'image ici

  • Connexion à l'aide d'un autre navigateur: dans Chromium, le message "Ce site ne peut pas être atteint: localhost a fermé la connexion de manière inattendue."
  • Testing unused ports in the browser to see if this returns a different message - for Firefox, unused ports return 'Unable to connect' instead of 'Secure connection Failed', and in Chromium they return 'localhost refused to connect.' instead of 'localhost unexpectedly closed the connection.'
  • In Firefox, configuring 'security.tls.insecure_fallback_hosts' to 'localhost'.
  • Double-checking that ports are mapped correctly in docker-compose.yml - under 'ports' for the relevant container, 44329 is mapped to 44329.
  • Running a DB query when the API starts and logging the result: this is successful. I run docker-compose up, the API starts, connects to the DB container, and it logs the result of an SQL query to a text file. So the problem is unlikely to be anything to do with the database.
  • Logging GET requests: Inside Windows, the GET requests are successfully logged, but in the Ubuntu Docker container, they're not.

This might be relevant: In Windows, the API only works properly if you start it from Visual Studio. If you execute dotnet webapi.dll, you get this output

...\netcoreapp2.1>dotnet webapi.dll
...
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.

So here it's not running on 44329; instead it's accessible via 5001 in the browser, where you get this message which is not chill at all: entrez la description de l'image ici Clicking 'ADVANCED' allows you to continue to the API.

  • So I've also tried connecting via 5001 in Ubuntu without luck.

Here's the output from 'docker-compose up':

matt@Matt-Ubuntu:~/docker2$ docker-compose up
Starting docker2_mysql_1 ... done
Starting docker2_dbmodelmapper_1 ... done
Attaching to docker2_mysql_1, docker2_dbmodelmapper_1
... (mysql stuff) ...
dbmodelmapper_1  | Hosting environment: Production
dbmodelmapper_1  | Content root path: /app
dbmodelmapper_1  | Now listening on: http://[::]:80
dbmodelmapper_1  | Application started. Press Ctrl+C to shut down.
  • Seeing the port 80, I've tried connecting to that, without success.

  • The relevant container as shown by docker ps is:

    entrez la description de l'image ici

What kind of issue am I looking at here?

matt_rule

Comme l'ont souligné plusieurs personnes dans les commentaires (merci à sp0gg, Martin Ullrich et Daniel Lerps), l'API écoutait incorrectement sur le port 80.

La solution consistait à mapper le port 5000 à 44329 dans docker-compose.yml pour le conteneur API, et également à modifier le Dockerfile pour passer les ports en tant qu'arguments à dotnet lors du démarrage de l'API ASP.NET:

ENTRYPOINT ["dotnet", "webapi.dll", "--urls", "http://*:5000;http://*:5001"]

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Impossible d'accéder à l'application Spring Boot distante à partir du navigateur

Docker : impossible d'accéder au conteneur à partir du navigateur sur la machine hôte

Impossible d'accéder à un conteneur IIS à partir du navigateur - Docker

Impossible d'accéder à localhost: 8080 à partir du navigateur

Amazon Lightsail exécutant l'application Web ASP.NET Core - Impossible d'accéder au site Web à partir du navigateur

Impossible d'accéder au service Microk8s à partir du navigateur à l'aide du service NodePort

Impossible d'accéder aux http: mappages de passerelle entrante à partir du navigateur dans une application Spring Boot

Impossible d'accéder à l'adresse IP du réseau local à partir du conteneur Docker

Impossible d'ouvrir mon application à partir du navigateur Facebook intégré à l'application iOS 9

Accéder à l'application SignalR en cours d'exécution sur l'hôte local à partir du navigateur

Application Azure AD 2.0 - impossible d'accéder à l'étendue à partir du client angulaire

Impossible d'accéder à l'hôte local à partir du conteneur Docker

Impossible d'accéder au notebook Jupyter à partir du docker

Impossible d'accéder à Elasticsearch à partir du conteneur Docker

Impossible d'accéder à l'application Web du conteneur Docker Nanoserver

Impossible d'accéder à la console Websphere à partir du navigateur Web

Impossible d'accéder à Webmin à partir du navigateur - "Cron 15430088014649 manquant à tout moment"

Impossible d'accéder à l'adresse IP du conteneur à partir du docker hôte pour la pile Windows

impossible d'accéder à l'adresse IP externe du pod de base de données à partir de l'application

impossible d'accéder à l'itinéraire imbriqué mais l'URL du navigateur est mise à jour

Comment accéder à Tomcat en cours d'exécution dans le conteneur Docker à partir du navigateur?

Impossible d'accéder au site Web à partir de l'application Android après le renouvellement du certificat HTTPS

Impossible d'accéder à l'application de réaction qui se trouve dans les images du docker

Docker : impossible d'accéder au navigateur Web Minio

Impossible d'accéder à l'intérieur de l'élément à partir d'une autre application

Impossible d'accéder au conteneur docker à partir du port mappé par docker

Impossible d'accéder à un service GKE activé pour Istio directement à partir du navigateur, mais uniquement via curl

Impossible d'accéder à l'élément à partir du tableau d'objets JSON

Impossible d'accéder à postgres dans docker à partir d'une application Web dans un autre conteneur

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive