Docker nuxt js и django ошибка получения (Econnrefused) - PullRequest
2 голосов
/ 20 апреля 2020

Я сейчас работаю над docker с django и nuxt js. Я могу получить json данные из https://jsonplaceholder.typicode.com/posts в asyncData или nuxtServerInit, они правильно загружаются и не получают ошибок. Но когда я хочу получить из моего django rest api сервис получает ошибку (добавлены заголовки cors). Я проверил выборку постов из django rest api с созданным хуком (), и он работает. Я не понимаю, почему он получает ошибку.

страниц / индекс. vue

export default {
  asyncData(context){
    return context.app.$axios.$get('http://127.0.0.1:8000') // this is throwing an error
      .then((res) => {
        let posts = [];
        posts = res;
        return { posts: res }
      })
  },
  created() {
    this.$axios.$get('http://127.0.0.1:8000') // this is not throwing any error
      .then(e => {console.log(e);})
  }
}

my docker compse ile

version: '3'

networks: 
  main:
    driver: bridge

services: 
  api:
    container_name: blog_api
    build: 
      context: ./backend
    ports: 
      - "8000:8000"
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"
    volumes: 
      - ./backend:/app
    networks: 
      - main

  web:
    container_name: blog_web
    build: 
      context: ./frontend
    ports: 
      - "8080:8080"
    volumes: 
      - ./frontend:/code
    networks: 
      - main

backend docker file

FROM python:3.8-alpine

ENV PYTHONBUFFERED 1
ENV PYTHONWRITEBYTECODE 1

RUN mkdir /app
WORKDIR /app

COPY ./requirements.txt /app/
RUN pip install -r requirements.txt

EXPOSE 8000

ADD . /app

внешний файл Dockerfile

FROM node:13-alpine

WORKDIR /code/

COPY . . 
EXPOSE 8080

ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=8080


RUN npm install
CMD ["npm", "run", "dev"]

Nuxt-config. js

server: {
    port: 8080,
    host: '0.0.0.0'
  }
...