Skip to content

Instantly share code, notes, and snippets.

@walison17
Forked from rg3915/.dockerignore
Created August 19, 2019 12:40
Show Gist options
  • Save walison17/64a208202a1c093b550a96a33ebfeccc to your computer and use it in GitHub Desktop.
Save walison17/64a208202a1c093b550a96a33ebfeccc to your computer and use it in GitHub Desktop.
Rodando Django no Docker

Rodando Django no Docker

https://hub.docker.com/_/django/

Deprecated

"This image is officially deprecated in favor of the standard python image, and will receive no further updates after 2016-12-31 (Dec 31, 2016). Please adjust your usage accordingly."

Dockerfile

# Dockerfile
FROM python:3.7

RUN apt-get update && apt-get install -y --no-install-recommends postgresql-client

WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -U pip && pip install -r requirements.txt
COPY . .

EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"]

Criando um projeto Django do zero

  • Crie virtualenv na sua máquina
  • Crie o projeto Django
  • Crie o requirements.txt
python -m venv .venv
source .venv/bin/activate
pip install -U pip && pip install -r requirements.txt
django-admin startproject myproject .
cd myproject
python ../manage.py startapp core
cd ..

Ou, você pode clonar algum projeto do Github.

Criando a imagem e subindo um container com Docker

docker image build -t mydjango:1.0 .
docker container run mydjango:1.0  # depois abra outro terminal
# Se quiser pode executar em modo daemon

Em outro terminal execute

docker inspect ID

pra pegar o IP_ADRESS

Então rode a aplicação no endereço IP_ADRESS:8080

Se quiser rodar o migrate no container digite

docker container exec -ti ID python manage.py migrate
docker container exec -ti ID python manage.py createsuperuser
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment