Docker映像中的客户端如何知道另一个Docker映像中服务器的IP地址?

问题描述 投票:0回答:1

我正在使用React Client,后端使用Django,数据库使用Postgres。我正在准备客户端,服务器和数据库的docker映像。我的docker-compose.yml看起来像这样:

version: '3'
services:
  client:
    build: ./client
    stdin_open: true
    ports:
      - "3000:3000"
    depends_on: 
     - server

  server:
    build: ./server
    ports:
      - "8000:8000"
    depends_on: 
     - db

  db:
    image: "postgres:12-alpine"
    restart: always
    ports: 
     - "5432:5432"
    environment: 
        POSTGRES_PASSWORD: bLah6laH614h

因为docker映像可以分别部署在任何地方,所以我不确定如何从客户端代码和服务器中db的ip访问服务器。我是新来的反应,Django和码头工人。请帮助!

django reactjs docker docker-compose
1个回答
0
投票

使用docs文件配置作为基础,来研究docker-compose.yml,将发生4件事:

  1. 创建了一个名为myapp_default的网络。 (假设您的项目文件夹名为myapp
  2. [容器是使用db的配置创建的。它以名称db加入网络myapp_default。
  3. 使用服务器的配置创建一个容器。它以名称server加入网络myapp_default。
  4. [容器是使用客户端的配置创建的。它以名称client加入网络myapp_default。

现在要从HTTPclient发送server请求,您应该使用以下URL:http://server:8000,因为有3项,并且配置的端口是8000

© www.soinside.com 2019 - 2024. All rights reserved.