Giter VIP home page Giter VIP logo

kompose-fix's Introduction

Kompose

Erros e correções aplicadas


Código com erro:

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
]

Erro: O app "songs" não está declarado em INSTALLED_APPS

O que ele causa: O Django não consegue identificar as informações desse app para executá-lo.

Como corrigir: Incluir a linha com o nome do app "songs" dentro de INSTALLED_APPS, fazendo com que ele seja reconhecido pelo Django.

Código corrigido:

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "songs"
]

Código com erro:

DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.postgres", 
            "NAME": os.getenv("DB"),
            "USER": os.getenv("USER"),
            "PASSWORD": os.getenv("PASSWORD"),
            "HOST": "database", 
            "PORT": 5432,
        }
}

Erro: A linha que especifica o tipo de conexão com o Banco está incorreta e as Variáveis de Ambiente não estão no padrão que o Postgres espera.

O que ele causa: A aplicação não consegue se conectar ao Banco de Dados.

Como corrigir: Colocar "postgresql" ao invés de "postgres" no campo "ENGINE" e alterar o nome das Variáveis de Ambiente.

Código corrigido:

DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.postgresql",
            "NAME": os.getenv("POSTGRES_DB"),
            "USER": os.getenv("POSTGRES_USER"),
            "PASSWORD": os.getenv("POSTGRES_PASSWORD"),
            "HOST": "db",
            "PORT": 5432,
        }
}

Código com erro:

FROM python:3.9

RUN pip install -r requirements.txt

ENV PYTHONDONTWRITEBYTECODE 1

RUN apt update \
    && apt install -y libpq-dev gcc

RUN pip install psycopg2

WORKDIR /code
COPY . /code/

Erro: A instalação das dependências através do "requirements.txt" está sendo executada antes do arquivo ser copiado para o Container.

O que ele causa: A instalação dos pacotes necessários para a execução da aplicação falha por não existir o arquivo.

Como corrigir: Executar o comando após os arquivos do projeto serem copiados para o Container.

Código corrigido:

FROM python:3.9

ENV PYTHONDONTWRITEBYTECODE 1

WORKDIR /code
COPY . /code/

RUN apt update \
    && apt install -y libpq-dev gcc

RUN pip install psycopg2

RUN pip install -r requirements.txt

Código com erro:

web:
        env_file: envs/dev.env
        command: bash -c 'while !</dev/tcp/db/5432; do sleep 1; done; python manage.py runserver 0.0.0.0:8000'

        stdin_open: true
        tty: true
        volumes:
            - .:/code

        ports:
            - 8000:8001

        depends_on:
            - db
            - migration

Erro: Não está sendo especificado para o serviço sobre qual imagem executar e a ponte entre as portas está direcionando para uma porta não utilizada pela aplicação.

O que ele causa: O serviço não é iniciado por não ter uma imagem para executar e a aplicação não recebe requisições porque não está expondo a porta correta.

Como corrigir: Especificar sobre qual imagem o serviço irá rodar e expor a porta que está sendo utilizada pela aplicação.

Código corrigido:

web:
        image: kompose_image
        env_file: envs/dev.env
        command: bash -c 'while !</dev/tcp/db/5432; do sleep 1; done; python manage.py runserver 0.0.0.0:8000'

        stdin_open: true
        tty: true
        volumes:
            - .:/code

        ports:
            - 8000:8000

        depends_on:
            - db
            - migration

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.