https://github.com/ramon-mateus/docker
Meus aprendizados com containers (docker & docker-compose).
https://github.com/ramon-mateus/docker
Last synced: 3 months ago
JSON representation
Meus aprendizados com containers (docker & docker-compose).
- Host: GitHub
- URL: https://github.com/ramon-mateus/docker
- Owner: Ramon-Mateus
- Created: 2023-02-03T22:15:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-06T15:00:01.000Z (over 2 years ago)
- Last Synced: 2025-01-14T04:20:59.563Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 665 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Docker & Docker-Compose
- A infraestrutura desenvolvida foi a de a simulação de um sistema em node que utiliza como banco de dados o mysql.
- Foi configurado dois containers. Um com o node.js e outro com o mysql. Ambos configurados com o docker compose. Além disso, foram criados volumes que faz refletir mudanças nos dois sentidos. Tanto do container para a sua máquina, quanto o inverso.
# Comandos úteis
* Caso não exista a imagem em questão no seu computador, ele baixa, roda e depois ou morre ou fica em foreground no seu terminal, pois por padrão ele não coloca em modo background.
```shell
docker run {nome da imagem}
```* Roda o container em modo background.
```shell
docker run -d {nome da imagem}
```* Faz com que quando o container rodar e subir na porta 80, encaminhar para o navegador na porta 8000. Pois a porta 80 só vai rodar dentro do próprio container. Não externamente que é o caso do navegador do sistema operacional da sua máquina.
```shell
docker run -p 8000:80 {nome da imagem}
```* Esse comando faz você entrar no container e fazer a alteração que quiser dentro dos arquivos interno dele.
```shell
docker exec -it {id container} {nome terminal (exemplo: sh, bash, zsh, …) }
```* Mata o container, parando a sua execução.
```shell
docker stop {id container}
```* Apaga da máquina containers parados.
```shell
docker rm {id container}
```* Apaga a imagem da máquina.
```shell
docker rmi {id da imagem}
```* Para todos os containers ativos.
```shell
docker stop $(docker ps -a -q)
```* Roda um container passando o diretório atual (pwd) como volume para a pasta que está especificada no “caminho do container”.
```shell
docker run -v $(pwd):{caminho no container} -d -p 8000:80 {nome da imagem}
```* cria uma imagem chamada “custom-nginx” (pode ser o nome que você quiser) se baseando no que foi passado no arquivo dockerfile que está na mesma pasta (por isso o ponto).
```shell
docker build -t custom-nginx .
```* Para se logar com a conta do Docker Hub.
```shell
docker login -u ramonmateus
```* Envia a imagem selecionada para o seu repositório de imagens no Docker Hub.
```shell
docker push {nome da imagem}
```* Sobe os container especificados no arquivo “docker-compose.yaml” em modo background.
```shell
docker compose up -d
```* Lista os containers que estão rodando juntos pelo Docker-Compose.
```shell
docker compose ps
```* Executa o terminal bash no container (serviço especificado no arquivo “docker-compose.yaml”).
```shell
docker compose exec {nome serviço} bash
```* Roda o container com a imagem do mysql já passando a senha do root e o banco que você quer criar.
```shell
docker run --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=meu_banco mysql:5.7
```* Comando para quando tiver dentro do container entrar no cliente do mysql usando as configurações passadas no comando acima.
```shell
mysql -uroot -proot
```