https://github.com/aleroxac/fullcycle-desafio-docker
Implementação do desafio do módulo de Docker do Curso Full Cycle 3.0 ministrado pelo Wesley Williams.
https://github.com/aleroxac/fullcycle-desafio-docker
docker docker-compose golang mysql nginx node-js
Last synced: 2 months ago
JSON representation
Implementação do desafio do módulo de Docker do Curso Full Cycle 3.0 ministrado pelo Wesley Williams.
- Host: GitHub
- URL: https://github.com/aleroxac/fullcycle-desafio-docker
- Owner: aleroxac
- Created: 2023-01-08T16:32:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-09T04:08:11.000Z (over 3 years ago)
- Last Synced: 2025-03-06T05:24:41.487Z (over 1 year ago)
- Topics: docker, docker-compose, golang, mysql, nginx, node-js
- Language: JavaScript
- Homepage: https://github.com/aleroxac/fullcycle-desafio-docker
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# fullcycle-desafio-docker
Implementação do desafio do módulo de Docker do Curso Full Cycle 3.0 ministrado pelo Wesley Williams.
## Estrutura de diretórios do "Desafio Docker"
```
├── README.md
└── src
├── db
│ ├── init.sql
│ └── mysqld.cnf
├── docker-compose.yaml
├── go
│ ├── Dockerfile
│ ├── go.mod
│ └── main.go
├── nginx
│ └── nginx.conf
└── node
├── Dockerfile
├── index.js
└── package.json
```
---
## Desafio Docker - Go

- [x] Criar um app em golang, que imprima a mensagem `"Full Cycle Rocks!!"` na saída padrão
- [x] Dockerizar o app, de modo que a `imagem final tenha menos que 2MB`
- [x] Publicar a imagem no Dockerhub usando o padrão `/fullcycle`
## Estrutura de diretórios
```
├── Dockerfile
├── go.mod
└── main.go
```
### Como rodar o projeto
``` shell
#### Construa você mesmo a imagem e suba um container
docker build -f src/go -t me/fullcycle:desafio-docker-go src/go
docekr run me/fullcycle:desafio-docker-go
#### Suba um container usando imagem já publicada no DockerHub
docker run aleroxac/fullcycle:desafio-docker-go
```
---
## Desafio Docker - Nginx com Node.js

- [x] Criar um docker-compose.yaml com um service para o mysql
- [x] Criar docker-compose.yaml
- [x] Criar database
- [x] Criar tabela `people`
- [x] Criar um app em nodejs, que:
- [x] Rode na porta 8080
- [x] Tenha uma rota com os seguintes comportamentos:
- [x] Insira um registro no banco de dados mysql
- [x] Imprima a mensagem `
Full Cycle Rocks!
`
- [x] Liste os nomes cadastradis no banco de dados mysql
- [x] Dockerizar o app em nodejs
- [x] Adicionar um service no docker-compose.yaml para o app
- [x] Adicionar um service no docker-compose.yaml para o nginx
- [x] Criar arquivo de configuração do nginx
- [x] Adicionar um service no docker-compose.yaml para o nginx
## Estrutura de diretórios
```
└── src
├── db
│ ├── init.sql
│ └── mysqld.cnf
├── docker-compose.yaml
├── nginx
│ └── nginx.conf
└── node
├── Dockerfile
├── index.js
└── package.json
```
### Como rodar o projeto
``` shell
### Suba os containers
docker-compose -f src/docker-compose.yaml up -d --build
### Cadastre seu nome do banco de dados e veja a lista de pessoas cadastradas em formato HTML
open http://localhost/people/augusto
## Veja a lista de pessoas cadastradas em formato JSON
curl -sv http://localhost/people
```