SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Iniciando com
Viagem ao mundo django!
1
Apresentação
● Graduado em Análise de Sistemas pela FATENE
● Programador de Sistemas de Informação Prefeitura de Fortaleza
marcelosantosadm@gmail.com
https://www.linkedin.com/in/marcelotdsantos
2
Python
É uma linguagem de programação criada por Guido Van Rossum
em 1991. Os objetivos do projeto da linguagem era: produtividade e
legibilidade. Em resumo, Python é uma linguagem de programação
que foi criada para produção de código bom e fácil de manter de
forma rápida.
3
https://docs.python.org/devguide/#quick-start
Quick Start
Testando o Python
Por meio do terminal, digite:
$ python
Isso vai abrir o python no modo iterativo, para que você pode testar
o trecho abaixo, digite o código e pressione ENTER:
>>> 5 * 5
25 // resultado da multiplicação entre os números
>>> ‘marcelo’.upper()
‘MARCELO’ // resultado da transformação da string para maiúsculo
4
Django
Django é um framework escrito em python, gratuito com código
aberto, muito utilizado para criação de aplicações web. Seu
ecossistema possui um conjunto de componentes que torna
produtivo o desenvolvimento de aplicações web, sendo fácil e rápida
a realização de implementações.
5
https://www.djangoproject.com/start/
Quick Start
Vamos de Docker, o que é?
● Processo de desenvolvimento e deploy
○ O Servidor é um Navio Carregado de Containers e cada Container possui mercadorias
○ O Docker é a ferramenta para criar e manter esses containers, ou melhor, ele fica
responsável por armazenar vários serviços de forma isolada do SO Host, como: web server,
banco de dados, aplicação e etc.
○ Seu back-end é baseado no LXC (Linux Containers), este isola processos do sistema
operacional host. Muito leve, pois não é preciso fazer emulação ou suporte a hardware.
Permite execução de sistemas linux de forma isolada, por isso o nome: Container. Utiliza o
mesmo Kernel do servidor Host, performático.
6
Get Start
https://docs.docker.com/engine/getstarted/
Docker Composer
O docker-compose utilizando-se do docker, torna a criação de
ambientes de desenvolvimento algo muito simples. O composer
depende do Docker (previamente instalado). Com tudo pronto,
vamos instalar o composer.
Siga as instruções de acordo com seu ambiente:
https://docs.docker.com/compose/install/
7
Dockerfile
Com o docker e docker-compose instalados, vamos preparar a estrutura do nosso projeto. Vamos criar
uma pasta nomeada à sua escolha, aqui chamada de django-app e dentro deste vamos criar nosso
Dockerfile (informações sobre a infra do projeto), com o seguinte conteúdo:
8
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
É o arquivo que especifica como uma imagem no docker será criada, os pacotes
que serão instalados, usuários que serão criados, portas que serão expostas,
diretórios que serão compartilhados entre o host e um container, etc.
requirements.txt
Neste arquivo vamos inserir as dependências do nosso projeto, no caso vamos
utilizar o Django, sendo assim o conteúdo do arquivo será:
Django
Se nosso projeto fosse com Django e o django_restframework, então o arquivo
seria:
Django
djangorestframework
* Uma dependência abaixo da outra, simples assim!
9
Docker Composer
Vamos criar um arquivo, "docker-compose.yml", com a configuração abaixo:
10
web:
build: . //ponto do build, diretório que o arquivo encontra-se
command: python manage.py runserver 0.0.0.0:8000 //comando para rodar o dj
volumes:
- .:/code //pasta compartilhando código entre o container e o host
ports:
- "8000:8000" //porta onde o container e host irão se comunicar
É o arquivo de configuração do docker-compose, é composto por blocos e cada
bloco corresponde a um container, podendo eles serem "linkados", o
docker-compose utilizará esse arquivo como base para criar os conteineres
necessários, e executar tudo que foi especificado no mesmo.
Host: Nosso computador, onde temos nossa IDE preferida. :-)
Mão na massa
Após a realização dos procedimentos anteriores, vamos então criar nossa
aplicação django com o comando abaixo:
$ docker-compose run web django-admin.py startproject minhastarefas
Após rodar esse comando será criada a pasta minhastarefas no diretório.
11
Configurações no settings.py
Neste arquivo existem diversas configurações referentes ao projeto django, desde
definição de idioma, time zone, banco de dados, diretório de templates e etc. Vou
citar como exemplo a mudança do idioma de en-US para pt-BR.
LANGUAGE_CODE = 'pt-BR'
Com isso se utilizarmos o django admin, ele já ficará no idioma português do brasil.
12
Rodando a aplicação
Na pasta raiz do projeto, execute o comando:
$ docker-compose up
O docker-compose vai criar nosso caso o container web e startar a aplicação na porta 8000, acesse seu
http://localhost:8000 e você verá sua aplicação em execução.
13
Executando comandos django
Podemos executar comando do django com docker da seguinte forma:
$ docker-compose run <CONTAINER-NAME> <COMANDO-DESEJADO>
Para sincronizarmos o banco de dados da aplicação podemos fazê-lo da seguinte forma:
$ docker-compose run web ./manage.py syncdb
14
Obrigado à todos!
15
● Referências
https://docs.docker.com/compose/django/
https://www.djangoproject.com/
https://www.python.org/

Mais conteúdo relacionado

Mais procurados

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-hostRogerio Pereira
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
 
Php além do LAMP
Php além do LAMPPhp além do LAMP
Php além do LAMPThiago Paes
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoDiogo Lucas
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web ServicesDorneles Treméa
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Natan Moraes
 

Mais procurados (20)

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Apostila manual completo - windows-script-host
Apostila   manual completo - windows-script-hostApostila   manual completo - windows-script-host
Apostila manual completo - windows-script-host
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Php além do LAMP
Php além do LAMPPhp além do LAMP
Php além do LAMP
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web Services
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Node JS - Parte 1
Node JS - Parte 1Node JS - Parte 1
Node JS - Parte 1
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Vamos falar de docker
Vamos falar de dockerVamos falar de docker
Vamos falar de docker
 
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
 
Estudo de caso - Uso Docker no Desenvolvimento
Estudo de caso - Uso Docker no DesenvolvimentoEstudo de caso - Uso Docker no Desenvolvimento
Estudo de caso - Uso Docker no Desenvolvimento
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 

Semelhante a Criando aplicação Django com Docker em menos de 40 passos

Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDextra Sistemas / Etec Itu
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency managerVitor Mattos
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioMarcos Antônio de Souza Silva
 
CEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniterCEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniterEric Silva
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar pythonLourenço Junior
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
Composer dependency manager - TDC - POA 2017
Composer   dependency manager - TDC - POA 2017Composer   dependency manager - TDC - POA 2017
Composer dependency manager - TDC - POA 2017Vitor Mattos
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android EmbarcadoOdair Sousa
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 

Semelhante a Criando aplicação Django com Docker em menos de 40 passos (20)

Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Python CGI
Python CGIPython CGI
Python CGI
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Docker
DockerDocker
Docker
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprio
 
Python e Golang - Parte 1
Python e Golang - Parte 1Python e Golang - Parte 1
Python e Golang - Parte 1
 
CEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniterCEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniter
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
Composer dependency manager - TDC - POA 2017
Composer   dependency manager - TDC - POA 2017Composer   dependency manager - TDC - POA 2017
Composer dependency manager - TDC - POA 2017
 
Treinamento Android Embarcado
Treinamento Android EmbarcadoTreinamento Android Embarcado
Treinamento Android Embarcado
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 

Criando aplicação Django com Docker em menos de 40 passos

  • 1. Iniciando com Viagem ao mundo django! 1
  • 2. Apresentação ● Graduado em Análise de Sistemas pela FATENE ● Programador de Sistemas de Informação Prefeitura de Fortaleza marcelosantosadm@gmail.com https://www.linkedin.com/in/marcelotdsantos 2
  • 3. Python É uma linguagem de programação criada por Guido Van Rossum em 1991. Os objetivos do projeto da linguagem era: produtividade e legibilidade. Em resumo, Python é uma linguagem de programação que foi criada para produção de código bom e fácil de manter de forma rápida. 3 https://docs.python.org/devguide/#quick-start Quick Start
  • 4. Testando o Python Por meio do terminal, digite: $ python Isso vai abrir o python no modo iterativo, para que você pode testar o trecho abaixo, digite o código e pressione ENTER: >>> 5 * 5 25 // resultado da multiplicação entre os números >>> ‘marcelo’.upper() ‘MARCELO’ // resultado da transformação da string para maiúsculo 4
  • 5. Django Django é um framework escrito em python, gratuito com código aberto, muito utilizado para criação de aplicações web. Seu ecossistema possui um conjunto de componentes que torna produtivo o desenvolvimento de aplicações web, sendo fácil e rápida a realização de implementações. 5 https://www.djangoproject.com/start/ Quick Start
  • 6. Vamos de Docker, o que é? ● Processo de desenvolvimento e deploy ○ O Servidor é um Navio Carregado de Containers e cada Container possui mercadorias ○ O Docker é a ferramenta para criar e manter esses containers, ou melhor, ele fica responsável por armazenar vários serviços de forma isolada do SO Host, como: web server, banco de dados, aplicação e etc. ○ Seu back-end é baseado no LXC (Linux Containers), este isola processos do sistema operacional host. Muito leve, pois não é preciso fazer emulação ou suporte a hardware. Permite execução de sistemas linux de forma isolada, por isso o nome: Container. Utiliza o mesmo Kernel do servidor Host, performático. 6 Get Start https://docs.docker.com/engine/getstarted/
  • 7. Docker Composer O docker-compose utilizando-se do docker, torna a criação de ambientes de desenvolvimento algo muito simples. O composer depende do Docker (previamente instalado). Com tudo pronto, vamos instalar o composer. Siga as instruções de acordo com seu ambiente: https://docs.docker.com/compose/install/ 7
  • 8. Dockerfile Com o docker e docker-compose instalados, vamos preparar a estrutura do nosso projeto. Vamos criar uma pasta nomeada à sua escolha, aqui chamada de django-app e dentro deste vamos criar nosso Dockerfile (informações sobre a infra do projeto), com o seguinte conteúdo: 8 FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/ É o arquivo que especifica como uma imagem no docker será criada, os pacotes que serão instalados, usuários que serão criados, portas que serão expostas, diretórios que serão compartilhados entre o host e um container, etc.
  • 9. requirements.txt Neste arquivo vamos inserir as dependências do nosso projeto, no caso vamos utilizar o Django, sendo assim o conteúdo do arquivo será: Django Se nosso projeto fosse com Django e o django_restframework, então o arquivo seria: Django djangorestframework * Uma dependência abaixo da outra, simples assim! 9
  • 10. Docker Composer Vamos criar um arquivo, "docker-compose.yml", com a configuração abaixo: 10 web: build: . //ponto do build, diretório que o arquivo encontra-se command: python manage.py runserver 0.0.0.0:8000 //comando para rodar o dj volumes: - .:/code //pasta compartilhando código entre o container e o host ports: - "8000:8000" //porta onde o container e host irão se comunicar É o arquivo de configuração do docker-compose, é composto por blocos e cada bloco corresponde a um container, podendo eles serem "linkados", o docker-compose utilizará esse arquivo como base para criar os conteineres necessários, e executar tudo que foi especificado no mesmo. Host: Nosso computador, onde temos nossa IDE preferida. :-)
  • 11. Mão na massa Após a realização dos procedimentos anteriores, vamos então criar nossa aplicação django com o comando abaixo: $ docker-compose run web django-admin.py startproject minhastarefas Após rodar esse comando será criada a pasta minhastarefas no diretório. 11
  • 12. Configurações no settings.py Neste arquivo existem diversas configurações referentes ao projeto django, desde definição de idioma, time zone, banco de dados, diretório de templates e etc. Vou citar como exemplo a mudança do idioma de en-US para pt-BR. LANGUAGE_CODE = 'pt-BR' Com isso se utilizarmos o django admin, ele já ficará no idioma português do brasil. 12
  • 13. Rodando a aplicação Na pasta raiz do projeto, execute o comando: $ docker-compose up O docker-compose vai criar nosso caso o container web e startar a aplicação na porta 8000, acesse seu http://localhost:8000 e você verá sua aplicação em execução. 13
  • 14. Executando comandos django Podemos executar comando do django com docker da seguinte forma: $ docker-compose run <CONTAINER-NAME> <COMANDO-DESEJADO> Para sincronizarmos o banco de dados da aplicação podemos fazê-lo da seguinte forma: $ docker-compose run web ./manage.py syncdb 14
  • 15. Obrigado à todos! 15 ● Referências https://docs.docker.com/compose/django/ https://www.djangoproject.com/ https://www.python.org/