https://github.com/raizertechdev/desafio-modulo-docker-stackx
https://github.com/raizertechdev/desafio-modulo-docker-stackx
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/raizertechdev/desafio-modulo-docker-stackx
- Owner: RaizerTechDev
- Created: 2025-02-12T17:24:38.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-02-12T22:17:17.000Z (11 months ago)
- Last Synced: 2025-02-12T23:22:52.559Z (11 months ago)
- Language: Dockerfile
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Desafio-Modulo-Docker-Stackx
## Índice
- [Objetivo](#objetivo)
- [Atividade 1](#atividade-1-empacotando-uma-aplicação-simples-de-frontend-com-docker)
- [ Requisitos](#requisitos)
- [ Como Executar](#como-executar)
- [ Detalhes da Imagem](#detalhes-da-imagem)
- [Atividade 2](#atividade-2-implementação-do-wikijs-com-postgresql)
- [ Requisitos](#requisitos-1)
- [ Como Executar](#como-executar-1)
- [ Detalhes da Stackx ](#detalhes-da-stack)
- [ Persistência de Dados](#persistência-de-dados)
## Objetivo
Demonstrar domínio prático de Docker e Docker Compose através da criação de soluções escaláveis, desde aplicações simples até sistemas complexos com banco de dados, seguindo requisitos técnicos e boas práticas de conteinerização.
---
## Atividade 1: Empacotando uma aplicação simples de frontend com Docker
Este repositório contém a solução para a Atividade 1 do módulo Docker, onde empacotamos uma aplicação simples de frontend usando a imagem oficial do Nginx.
---
[Demonstração-Aplicação -atv1]

---
### Requisitos
- Docker instalado e configurado.
---
### Como executar
1. Clone este repositório:
```bash
git clone https://github.com/seu-usuario/desafio-modulo-docker-stackx.git
```
2. Navegue até o diretório da atividade 1:
```bash
cd desafio-modulo-docker-stackx/atv1
```
3. Construa a imagem Docker:
```bash
sudo docker build -t desafio-modulo-docker-stackx-atv1 .
```
4. Execute o container:
```bash
docker run -d -p 8080:80 --name desafio-atv1 desafio-modulo-docker-stackx-atv1
```
5. Acesse a aplicação no navegador:
Abra o navegador e vá para http://localhost:8080.
6. Verificar se o container está em execução
```bash
sudo docker ps
```
---
7. Remover o container
```bash
sudo docker rm atv1
```
---
### Detalhes da Imagem:
- Imagem base: nginx:alpine
- Diretório de trabalho: /app
- Variável de ambiente: APP_VERSION=1.0.0
- Porta exposta: 80
- Pacotes instalados: curl, htop, wget
---
# Atividade 2: Implementação do Wiki.js com PostgreSQL
Este repositório contém a solução para a Atividade 2 do módulo Docker, onde implementamos uma plataforma de documentação chamada **Wiki.js** com um banco de dados **PostgreSQL** usando Docker.
---
[Demonstração-Aplicação Docker-atv2]

---
## Requisitos
- Docker instalado e configurado.
- Docker Compose instalado.
## Como executar
1. Clone este repositório:
```bash
git clone https://github.com/RaizerTechDev/desafio-modulo-docker-stackx.git
```
2. Navegue até o diretório da atividade 2:
```bash
cd desafio-modulo-docker-stackx/atv2
```
3. Inicie a stack com Docker Compose:
```bash
sudo docker-compose up -d
```
4. Acesse a aplicação Wiki.js no navegador:
Abra o navegador e vá para http://localhost:3000.
- Siga as instruções na tela para concluir a configuração inicial do Wiki.js.
## Detalhes da Stack
Wiki.js: Imagem oficial ghcr.io/requarks/wiki:2.
PostgreSQL: Imagem oficial postgres:13.
Portas:
Wiki.js: 3000
PostgreSQL: 5432 (interno, não exposto).
Variáveis de ambiente:
Banco de dados: wiki
Usuário: wikijs
Senha: wikijsrocks
Persistência de dados:
Volume wiki_db_data para o PostgreSQL.
## Persistência de Dados
Os dados do PostgreSQL são armazenados em um volume Docker chamado wiki_db_data. Isso garante que os dados sejam mantidos mesmo se o container for reiniciado ou removido.
- Como acessar o PostgreSQL e verificar as tabelas.
- Conecte-se ao container do PostgreSQL:
```bash
docker exec -it wiki_db psql -U wikijs -d wiki
```
- No prompt do psql, você pode executar comandos SQL para interagir com o banco de dados. Aqui estão alguns exemplos:
- Listar todas as tabelas:
```sql
\dt
```
- Verificar os dados da tabela users (usuários do Wiki.js):
```sql
SELECT * FROM users;
```
- Verificar os dados da tabela pages (páginas criadas no Wiki.js):
```sql
SELECT * FROM pages;
```
- Sair do psql:
```sql
\q
```
7. Como parar a stack
Execute o seguinte comando no diretório atv2:
```bash
docker-compose down
```
---
## Tecnologias
- HTML5 (Linguagem de marcação utilizada para a construção das páginas web).
- Dockerfile (É um arquivo de texto (sem extensão) que contém instruções para construir uma imagem Docker).
- Docker-Image (É um pacote imutável (como um template) que contém tudo necessário para executar uma aplicação: código, runtime, bibliotecas e variáveis de ambiente).
- Docker-Compose (É uma ferramenta para definir e gerenciar múltiplos containers Docker em um único arquivo (YAML)).
- Wiki (Plataforma colaborativa de edição e compartilhamento de conhecimento (ex.: Wikipedia)).
- Git (Sistema de controle de versões).
- Github (Plataforma para hospedagem de código-fonte).
- Visual Studio Code (Editor de código-fonte).
- Navegador web (Interação com documentos HTML).
---
## Licença
- Esse projeto está sob a licença MIT.
---
Autor
   RafaRaizer-Dev
   Whatsapp | LinkedIn | GitHub| Tableau| Portfólio