ECSS - Modulo 6
Docker no Ubuntu com acesso grafico pelo Windows Server
O aluno vai subir o Portainer no Ubuntu Server, publicar um container web de teste e acessar tudo pelo navegador da maquina Windows Server do proprio laboratorio.
Resumo
- Duracao
- 35 a 50 min
- Aluno
studentXX- Ubuntu
10.50.X.12- Windows Server
10.50.X.10- Portainer
9443ou9000- Web demo
8080
Objetivos do lab
- Instalar e validar Docker no Ubuntu Server.
- Subir o Portainer CE para gerenciar containers por interface web.
- Executar um container web simples com Nginx.
- Acessar as interfaces pelo navegador do Windows Server.
- Identificar riscos basicos de exposicao de portas e uso do socket Docker.
Antes de comecar
X pelo numero do seu aluno. Exemplos:
student01 = 10.50.1.12, student02 = 10.50.2.12.
- Acesse o Ubuntu Server do seu aluno pelo Guacamole.
- Acesse tambem o Windows Server do mesmo aluno.
- Nao use IP publico para este lab. Use somente os IPs internos
10.50.X.0/24. - Se o Ubuntu ja tiver Docker instalado, apenas valide o servico e continue.
1. Validar IP e conectividade no Ubuntu
No Ubuntu Server, confirme o IP interno e teste acesso a Internet.
hostname -I
ip -4 addr
ping -c 4 1.1.1.1
10.50.X.12. Se aparecer outro IP, anote o IP real e use-o nos proximos passos.
2. Instalar Docker
Instale o Docker usando o script oficial e habilite o servico.
sudo apt update
sudo apt -y install ca-certificates curl
if ! command -v docker >/dev/null 2>&1; then
curl -fsSL https://get.docker.com | sudo sh
fi
sudo systemctl enable --now docker
sudo docker --version
sudo docker info --format 'Docker ativo: {{.ServerVersion}}'
3. Subir o Portainer CE
O Portainer sera a interface grafica usada para administrar containers no Ubuntu.
sudo docker volume create portainer_data
sudo docker run -d \
--name portainer \
--restart unless-stopped \
-p 9000:9000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
/var/run/docker.sock da controle administrativo sobre o Docker.
Em producao, limite quem pode acessar o Portainer.
4. Subir um container web de teste
Use um container Nginx leve para validar publicacao de porta e acesso grafico pelo Windows Server.
sudo docker run -d \
--name web-demo \
--restart unless-stopped \
-p 8080:80 \
nginx:alpine
sudo docker ps
O resultado deve mostrar os containers portainer e web-demo em execucao.
5. Liberar portas no firewall do Ubuntu, se necessario
Se o ufw estiver ativo, permita acesso somente da rede do aluno.
sudo ufw status
sudo ufw allow from 10.50.X.0/24 to any port 9443 proto tcp
sudo ufw allow from 10.50.X.0/24 to any port 9000 proto tcp
sudo ufw allow from 10.50.X.0/24 to any port 8080 proto tcp
sudo ufw status numbered
ufw estiver inativo, siga para o proximo passo.
6. Testar a partir do Windows Server
No Windows Server do aluno, abra o PowerShell e teste as portas do Ubuntu.
Test-NetConnection 10.50.X.12 -Port 9443
Test-NetConnection 10.50.X.12 -Port 9000
Test-NetConnection 10.50.X.12 -Port 8080
O campo TcpTestSucceeded deve retornar True para as portas usadas.
7. Acessar as interfaces pelo navegador do Windows Server
- No Windows Server, abra o Microsoft Edge.
- Acesse
https://10.50.X.12:9443. - Se houver alerta de certificado, avance para continuar no ambiente de laboratorio.
- Crie o usuario administrador inicial do Portainer com uma senha temporaria do lab.
- Selecione o ambiente Local ou Get Started.
- Abra tambem
http://10.50.X.12:8080e valide a pagina do Nginx.
8. Explorar o Portainer
- No Portainer, abra Containers e localize
portainereweb-demo. - Abra Images e veja as imagens baixadas.
- Abra Volumes e identifique
portainer_data. - Abra Networks e identifique a rede
bridge. - Abra o container
web-demoe veja logs, estatisticas e portas publicadas.
Discussao rapida de seguranca
- Quais portas ficaram abertas no Ubuntu?
- Por que o Portainer nao deve ficar exposto diretamente na Internet?
- Qual e o risco de montar
/var/run/docker.sockdentro de um container? - Por que usamos redes isoladas por aluno?
- Como voce limitaria o acesso ao Portainer em producao?
9. Comandos de diagnostico
Use estes comandos se a interface nao abrir pelo Windows Server.
sudo docker ps
sudo docker logs --tail 80 portainer
sudo docker logs --tail 80 web-demo
sudo ss -tulpn | grep -E ':9000|:9443|:8080'
ip route
10. Limpeza opcional
Execute somente se o instrutor pedir para remover o ambiente Docker deste lab.
sudo docker stop web-demo portainer
sudo docker rm web-demo portainer
sudo docker volume rm portainer_data
Checklist de entrega
- Docker instalado e servico ativo no Ubuntu.
- Container
portainerem execucao. - Container
web-demoem execucao. - Portainer acessivel pelo Windows Server em
https://10.50.X.12:9443. - Nginx acessivel pelo Windows Server em
http://10.50.X.12:8080. - Print ou anotacao do
docker pse da tela Containers do Portainer.