JuniorLima22 / cli-docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Readme

DOCKER

Configurações iniciais do Docker

Docker Help

docker --help
# New sintaxe
docker container --help

Executar Imagem

docker run -d -p 80:80 --name [containerName] docker/getting-started
  • -d executar o contêiner no modo desanexado (em segundo plano)

  • -p 80:80 mapear a porta 80 do host para a porta 80 no contêiner

  • --name renomear contêiner a ser usada

  • -docker/getting-started a imagem a ser usada

Executar um comando em um novo contêiner com bash interativo

docker run -it [containerId||containerName]

Executar um comando dentro do contêiner em execução com bash interativo

docker exec -it [containerId||containerName] /bin/bash
docker exec -it [containerId||containerName] bash

Executa comandos dentro do contêiner diretamente

docker exec [containerId||containerName] [command]

Baixar imagem do Hub Docker

docker pull [imageName]

Baixar imagem especifica do Hub Docker (TAG)

docker pull debian:10
docker pull debian:buster

Listar Imagens

docker images

Excluir Imagens

docker rmi [containerId||containerName]

Listar contêiner em execução

docker ps
# OR
docker container ls
  • -a lista todos contêiner executados anteriormente

Parar contêiner em execução

docker stop [containerId||containerName]

Iniciar contêiner

docker start [containerId||containerName]

Excluir contêiner

docker rm [containerId||containerName]

Excluir todos os contêineres parados

docker container prune

Informações, logs e processos dos contêiner

Informação do servidor Docker

docker info

Logs do contêiner

docker logs [containerId||containerName]

Verificar processos em execução no contêiner

docker top [containerId||containerName]

Analisando a rede dos contêineres

Listar redes dos contêineres

docker network ls

Exibir informações detalhadas sobre uma ou mais redes

docker network inspect [networkName]

Criando rede

docker network create [networkName]

Deletando rede

docker network rm [networkName]

Especificando rede para o contêiner

docker run -dti --name [containerName] --network [networkName] [image]

Copiando arquivos da maquina local para contêiner

docker cp [diretório/origem/meuArquivoLocal.txt] [containerId||containerName]:[/diretório/destino]

Copiando arquivos do contêiner para maquina local

docker cp [containerId||containerName]:[/diretório/origem] [diretório/destino/meuArquivoLocal.txt]

Retornar informações de baixo nível sobre objetos do Docker

docker inspect [containerId||containerName]

Criando um contêiner de Mysql

docker run -d -e MYSQL_ROOT_PASSWORD=Senha123 -p 3306:3306 --name mysql-A mysql
  • -d executar o contêiner no modo desanexado (em segundo plano)

  • -p 3306:3306 mapear a porta 80 do host para a porta 80 no contêiner

  • -e definir variáveis de ambiente

Acessar servidor Mysql

mysql -u root -p --protocol=tcp --port=3606

Criar tabela no Mysql

CREATE DATABASE teste;

Listar tabelas no Mysql

SHOW DATABASES;

Volume

Montando (Mount) um local de armazenamento na maquina local

OBS: Consultar dentro do contêiner o local onde está sendo salvo o banco de dados com o comando docker inspect [containerId||containerName] no índice Mounts: Destination

docker run -d -e MYSQL_ROOT_PASSWORD=Senha123 -p 3306:3306 --name [containerName] mysql --volume=[diretorioLocal]:[diretorioConteiner||/var/lib/mysql]

No Windows utilizar aspas duplas ao passar [diretorioLocal] exemplo com um contêiner Apache2

docker run -d --name apache-C httpd -p 80:80 --volume="C:\data\apache":/usr/local/apache2/htdocs

Excluir volume

docker volume rm [volumeId||volumeName]

Excluir todos os volume que não estão em uso

docker volume prune

Criando um contêiner com PHP-Apache

docker pull php:7.4-apache

Download da Imagem

docker pull php:7.4-apache

Executar contêiner

docker run -d -p 80:80 --name my-apache-php-app -v "$PWD":/var/www/html php:7.2-apache

docker run -d --name php-AB php:7.4-apache -p 8080:80 --volume="C:\laragon\www\cli-docker\data\php-A":/var/www/html

Limitando memória e CPU e atualizando contêiner

docker stats [containerId||containerName]
docker update [containerId||containerName] -m 128M --cpus 0.2

Teste de Stress no contêiner

Instale Stress no sistema operacinal (Exemplo: Ubuntu)

apt -y install stress 
stress --cpu 1 --vm-bytes 50m --vm 1 --vm-bytes-50m

Criando imagem e Build de contêiner a partir de um Dockerfile

docker image build ${DIR_DOCKERFILE} -t [imageName]

Exemplo de imagem com Apache

 docker image build images/debian-apache -t debian-apache:1.0

Exemplo de contêiner com Apache

$ docker run -dti --name meu-apache -p 81:80 debian-apache:1.0

LARADOCK

Subir contêiner

docker-compose up -d [nameImage1] [nameImage2] [nameImage3]
docker-compose up -d nginx mysql phpmyadmin redis

Acessar contêiner

docker exec -it [containerId||containerName] /bin/sh
# OR
docker exec -it [containerId||containerName] /bin/bash

Executar comandos com Bash interativo

docker-compose exec --user=laradock [containerId||containerName] bash

Listar contêiner em execução

docker-composer ps

Referências

  • Pesquisa

    • Docker com VS Code neste tutorial, você aprenderá a criar e implantar aplicativos do docker em Windows ou Mac usando Visual Studio Code.

    • Laravel + Docker = Laradock Crie um ambiente com Laravel e Docker de maneira rápida, simples e fácil.

Wakatime

Tempo gasto no IDE para este repositório, rastreado automaticamente com wakatime .

wakatime

Autor

Made with 💙 by JUNIOR LIMA 👋 See my LinkedIn • GitHub @JuniorLima22

↑ voltar para o topo ↑

About


Languages

Language:Python 100.0%