-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
nataliagranato
committed
Mar 16, 2024
1 parent
3ffaa53
commit 6a05995
Showing
4 changed files
with
123 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Glossário de Dockerfile | ||
|
||
- ADD: Instrução utilizada no Dockerfile para copiar arquivos e diretórios para dentro do container. | ||
|
||
- CMD: Instrução utilizada no Dockerfile para especificar o comando padrão a ser executado quando o container for iniciado. | ||
|
||
- COPY: Instrução utilizada no Dockerfile para copiar arquivos e diretórios para dentro do container. | ||
|
||
- ENTRYPOINT: Instrução utilizada no Dockerfile para especificar o comando padrão a ser executado quando o container for iniciado, porém não pode ser substituído ao iniciar o container. | ||
|
||
- ENV: Instrução utilizada no Dockerfile para definir variáveis de ambiente que serão utilizadas durante a construção e execução do container. | ||
|
||
- EXPOSE: Instrução utilizada no Dockerfile para definir as portas em que o container irá escutar, permitindo a comunicação com outros containers ou com o host. | ||
|
||
- FROM: Instrução utilizada no Dockerfile para especificar a imagem base que será utilizada para construir o container. | ||
|
||
- LABEL: Instrução utilizada no Dockerfile para adicionar metadados à imagem, como informações do autor e descrição. | ||
|
||
- MAINTAINER: Instrução utilizada no Dockerfile para especificar o autor da imagem. | ||
|
||
- RUN: Instrução utilizada no Dockerfile para executar comandos durante a construção do container. | ||
|
||
- USER: Instrução utilizada no Dockerfile para especificar o usuário que será usado para executar os comandos dentro do container. | ||
|
||
- VOLUME: Instrução utilizada no Dockerfile para definir um ponto de montagem de volume, permitindo o compartilhamento de dados entre o host e o container. | ||
|
||
- WORKDIR: Instrução utilizada no Dockerfile para definir o diretório de trabalho dentro do container, onde os comandos serão executados. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
# Executando a aplicação local | ||
|
||
1. Clone o repositório: | ||
|
||
``` | ||
git clone https://github.com/badtuxx/giropops-senhas.git | ||
``` | ||
|
||
2. Entre no diretório de trabalho: | ||
|
||
``` | ||
cd giropops-senhas | ||
``` | ||
|
||
3. Atualizando o sistema operacional | ||
|
||
``` | ||
sudo apt update -y | ||
``` | ||
|
||
4. Certifique de ter o python instalado e instale o gerenciador de pacotes: | ||
|
||
``` | ||
sudo apt-get install pip | ||
``` | ||
|
||
5. Atualizando o projeto: | ||
|
||
*Esse passo foi necessário, pois encontramos o seguinte erro:* | ||
|
||
``` | ||
flask run --host=0.0.0.0 | ||
Traceback (most recent call last): | ||
File "/usr/local/bin/flask", line 5, in <module> | ||
from flask.cli import main | ||
File "/usr/local/lib/python3.8/dist-packages/flask/__init__.py", line 7, in <module> | ||
from .app import Flask as Flask | ||
File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 27, in <module> | ||
from . import cli | ||
File "/usr/local/lib/python3.8/dist-packages/flask/cli.py", line 17, in <module> | ||
from .helpers import get_debug_flag | ||
File "/usr/local/lib/python3.8/dist-packages/flask/helpers.py", line 14, in <module> | ||
from werkzeug.urls import url_quote | ||
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.8/dist-packages/werkzeug/urls.py) | ||
``` | ||
|
||
``` | ||
pip install --upgrade Flask | ||
``` | ||
|
||
Ainda assim foi necessário especificar uma versão fixa para o Werkzeug: No arquivo requirements.txt, adicionando uma versão específica para o Werkzeug, como Werkzeug==2.2.2. | ||
|
||
Isso garantirá que a versão correta do Werkzeug seja instalada e resolva o problema. | ||
|
||
6. Instalando o Redis, uma dependência do projeto: | ||
|
||
``` | ||
sudo apt-get install redis -y | ||
``` | ||
|
||
7. Iniciando o Redis: | ||
|
||
``` | ||
systemctl start redis && systemctl status redis | ||
``` | ||
|
||
8. Criando uma variável de ambiente para que a aplicação encontre o Redis: | ||
|
||
``` | ||
export REDIS_HOST=localhost | ||
``` | ||
|
||
9. Iniciando a aplicação: | ||
|
||
``` | ||
flask run --host=0.0.0.0 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Timeline: Criação de uma Imagem Docker | ||
|
||
- **Criação do Dockerfile**: O primeiro passo na criação de uma imagem Docker é criar um arquivo chamado Dockerfile. Esse arquivo contém as instruções necessárias para construir a imagem, como a escolha da base, a instalação de dependências e a configuração do ambiente. | ||
|
||
- **Build da Imagem**: Após a criação do Dockerfile, é necessário executar o comando docker build para iniciar o processo de construção da imagem. Nesse momento, o Docker irá ler o arquivo Dockerfile e compilar a imagem conforme as instruções especificadas. | ||
|
||
- **Tag da Imagem**: Após a conclusão do build, é possível adicionar tags à imagem para facilitar sua identificação e versionamento. Por exemplo, podemos adicionar uma tag indicando a versão da aplicação ou o ambiente de destino. | ||
|
||
- **Push da Imagem**: Para disponibilizar a imagem em um repositório remoto, é necessário utilizar o comando docker push. Esse comando envia a imagem para um registro, como o Docker Hub ou um registro privado, permitindo que outras pessoas possam baixar e utilizar a imagem. | ||
|
||
- **Verificação de Vulnerabilidades**: É importante garantir a segurança da imagem antes de disponibilizá-la para uso. Para isso, podemos utilizar ferramentas de verificação de vulnerabilidades, como o Trivy. Essas ferramentas analisam a imagem em busca de componentes com falhas de segurança conhecidas. | ||
|
||
- **Assinatura com o Cosign**: Para adicionar uma camada extra de segurança, é possível assinar digitalmente a imagem utilizando o Cosign. Essa assinatura garante a integridade da imagem, permitindo que os usuários verifiquem a autenticidade e a procedência da mesma. | ||
|
||
Esses são os principais marcos na criação de uma imagem Docker, desde a criação do Dockerfile até a assinatura com o Cosign. Cada passo é essencial para garantir a qualidade, segurança e confiabilidade da imagem. |