小编Has*_* A.的帖子

如何在两个不同的docker容器中的两个django应用程序之间建立连接?

我创建了两个应用程序“myapi”和“minombre”,其中“minombre”将向“myapi”发出一个简单的 GET 请求,并将它们放入两个单独的 docker 容器中。运行“docker-compose up”后,容器运行,但api不传递数据。发出 GET 请求的“minombre”的views.py如下:

def index(request):
    response = requests.get('http://myapi')
    print(response)
    data = response.json()
    name = data['user']
    message = data['message']

    return HttpResponse('<h2> {} </h2> <br> <h5> {} </h5>'.format(name, message))
Run Code Online (Sandbox Code Playgroud)

这是我用来运行容器的 docker-compose.yml。

version: '3'
services:
  myapi:
    build: ./myapi
    container_name: myapi
   
    ports:
      - "8001:8001"
    command: python manage.py runserver 0.0.0.0:8001
  
  minombre:
    build: ./minombre
    container_name: minombre
   
    ports:
      - "8000:8000"
    command: python manage.py runserver 0.0.0.0:8000

    depends_on:
      - myapi
Run Code Online (Sandbox Code Playgroud)

这是例外:

Exception Type: ConnectionError
Exception Value:    
HTTPConnectionPool(host='myapi', port=80): Max retries exceeded with url: / …
Run Code Online (Sandbox Code Playgroud)

python django rest docker docker-compose

6
推荐指数
1
解决办法
2680
查看次数

标签 统计

django ×1

docker ×1

docker-compose ×1

python ×1

rest ×1