Appels d'API dans les conteneurs Docker
P粉764003519
P粉764003519 2023-08-29 19:43:11
0
1
532
<p>J'essaie d'utiliser l'API fournie à partir d'un conteneur Docker (disons <code>container_A</code>) pour accéder à un autre conteneur (<code>container_B</code>). Ces deux conteneurs sont dans le même réseau Docker. Avant d'ajouter Docker, je ferais bien sûr des appels API à <code>http://localhost:{app_port}/{endpoint}</code> et maintenant que j'ai Dockerisé l'application, chaque service est en cours d'exécution dans un Conteneur Docker, je sais en lisant d'autres questions et sites Web que vous devez utiliser l'alias du conteneur s'ils sont sur le même réseau, ou le nom du service si vous utilisez <code>docker compose</code> ;http://container_A:8000/books</code>. J'ai fait ça mais ça ne marche pas. J'ai configuré CORS dans tous les services et j'ai également essayé d'accéder au point de terminaison à partir du <em>REST Client</em> (qui est une extension VSCode de type Postman) pour voir si cela fonctionnait, et c'est le cas. J'ai également fait de la cartographie/exposition des ports. </p> <p>Juste pour fournir un peu plus d'informations, je souhaite utiliser l'API d'un conteneur Docker contenant une application Node.js pour accéder à un autre conteneur contenant une application React. </p> <p>Une idée sur la raison pour laquelle cela ne fonctionne pas ? </p>
P粉764003519
P粉764003519

répondre à tous(1)
P粉956441054

Grâce au commentaire de @DavidMaze, j'ai commencé à l'essayer localhost 而不是 React 应用程序容器的名称,因为显然 React 在浏览器中运行。在我的情况下,每个容器的 URL 看起来像这样:http://containerName:port,当它们之间进行请求时,我会使用该 URL(因为所有这些容器都在同一个 Docker 网络中),但是每当我想从 React 容器发出请求时,我会使用 http//localhost:port.

  • containerName est le nom du conteneur de votre application. Par exemple : http://webapp:3000
  • port est le port exposé. Par exemple : 3000

N'hésitez pas à modifier pour ajouter des informations plus utiles si nécessaire.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal