Docker: Criando a Docker Image com o Python e Flask: Difference between revisions

From Wiki
(Criou a página com " <nowiki> echo 'from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "hello world!" if __name__ == "__main__": app.run(host="0.0.0.0...")
 
No edit summary
 
Line 1: Line 1:
Neste exemplo vou executar uma aplicação python em um container python.
=Procedimento=
=== Criando a aplicação app.py ===
Crie a nossa aplicação '''app.py''', usando o seguinte conteúdo:


  <nowiki>
  <nowiki>
echo 'from flask import Flask
from flask import Flask


app = Flask(__name__)
app = Flask(__name__)
Line 10: Line 17:


if __name__ == "__main__":
if __name__ == "__main__":
     app.run(host="0.0.0.0")' > app.py
     app.run(host="0.0.0.0")
  </nowiki>
  </nowiki>


Vamos pegar por exemplo o arquivo Dockerfile abaixo:
=== Criando a docker image ===
 
Crie um arquivo Dockerfile, usando o seguinte conteúdo:


  <nowiki>
  <nowiki>
Line 21: Line 30:
CMD ["python","app.py"]
CMD ["python","app.py"]
  </nowiki>
  </nowiki>
 
=== Gerando o Container ===


  docker image build -t python-hello-world .
  docker image build -t python-hello-world .
=== Executando o Container ===


  docker run -p 5001:5000 -d python-hello-world
  docker run -p 5001:5000 -d python-hello-world


<nowiki>http://localhost:5001</nowiki>  
Anote o '''container id''' gerado para ser usando nos comandos abaixo.
 
Para verificar o resultado, acesse a url '''<nowiki>http://localhost:5001</nowiki>'''
 
=== Verificando os logs de acesso no container ===
 
docker container logs [container id]
 
=== Enviando o container para o DockerHub ===
 
Você vai precisar de ter um docker id para enviar images no Docker Hub, acesso o site https://hub.docker.com/ e crie o seu.
 
Logando no Docker Hub através comando docker
 
docker login
 
Faça a tag do container
 
docker tag python-hello-world [dockerhub username]/python-hello-world
 
no meu caso
 
''docker  tag python-hello-world ebasso/python-hello-world''


docker container logs [container id]
Enviando a imagem para o docker hub


docker login
docker push ebasso/python-hello-world
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:


= Ver também =


docker tag python-hello-world [dockerhub username]/python-hello-world
* [[Docker: Trabalhando com Containers]]
* [[DevOps| Artigos sobre DevOps]]
* [[Cloud| Artigos sobre Cloud]]


docker push ebasso/python-hello-world
[[Category:Docker]]
[[Category:DevOps]]
[[Category:Cloud]]
[[Category:Tecnologias]]

Latest revision as of 23:50, 26 September 2018

Neste exemplo vou executar uma aplicação python em um container python.

Procedimento

Criando a aplicação app.py

Crie a nossa aplicação app.py, usando o seguinte conteúdo:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "hello world!"

if __name__ == "__main__":
    app.run(host="0.0.0.0")
 

Criando a docker image

Crie um arquivo Dockerfile, usando o seguinte conteúdo:

FROM python:3.6.1-alpine
RUN pip install flask
COPY app.py /app.py
CMD ["python","app.py"]
 

Gerando o Container

docker image build -t python-hello-world .

Executando o Container

docker run -p 5001:5000 -d python-hello-world

Anote o container id gerado para ser usando nos comandos abaixo.

Para verificar o resultado, acesse a url http://localhost:5001

Verificando os logs de acesso no container

docker container logs [container id]

Enviando o container para o DockerHub

Você vai precisar de ter um docker id para enviar images no Docker Hub, acesso o site https://hub.docker.com/ e crie o seu.

Logando no Docker Hub através comando docker

docker login

Faça a tag do container

docker tag python-hello-world [dockerhub username]/python-hello-world

no meu caso

docker tag python-hello-world ebasso/python-hello-world

Enviando a imagem para o docker hub

docker push ebasso/python-hello-world

Ver também