Introdução
Imagine uma cena ambientada na era vitoriana do século XIX, onde os participantes assumem o papel de um Médium. O cenário é uma misteriosa mansão vitoriana, e o objetivo do médium é invocar espíritos do além, desvendando os segredos de containers Dockerizados.
Explorar as Portas do Container Docker
Neste passo, você começará executando um container Docker e, em seguida, explorará as suas portas expostas.
Primeiramente, vamos executar um container Nginx simples:
docker run -d -p 8080:80 --name my-nginx nginx
Agora, você irá inspecionar as portas que o container está ouvindo:
docker port my-nginx
A saída esperada deve mostrar o mapeamento das portas do container para as portas da máquina host.
80/tcp - > 0.0.0.0:8080
80/tcp - > :::8080
Testar com uma Porta Personalizada
Neste passo, você executará uma aplicação Python personalizada dentro de um container Docker e exporá uma porta personalizada.
Comece criando uma aplicação Python simples em um arquivo chamado app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
if __name__ == '__main__':
app.run(host="0.0.0.0", debug=True)
Crie um Dockerfile com o seguinte conteúdo para construir uma imagem para a aplicação Python:
FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]
Agora, construa a imagem Docker e execute-a com a porta personalizada 5000 exposta, mapeando a porta exposta para 8081 no host:
docker build -t my-python-app .
docker run -itd -p 8081:5000 --name python-app my-python-app
Assim que o container estiver rodando, teste se a aplicação está acessível adicionando um mapeamento de serviço web no menu superior e visite a URL.
Resumo
Neste laboratório, os participantes foram levados a uma jornada para explorar e entender como listar as portas de containers no Docker. Ao criar e inspecionar as portas de containers Docker, eles obtiveram informações valiosas sobre as capacidades de rede dos containers Docker, permitindo que gerenciassem e solucionassem problemas de implantações de containers de forma mais eficaz.



