Docker
Introdução
Docker é um sistema de conteiner para máquinas virtuais, que diferente do hipervisor, essas compartilham a base do sistema operacional do hospedeiro e deixa na máquina somente o essencial para que ela seja um sistema isolado. Com isso a máquina virtual ocupa menor espaço e pode ser usada para automatizar tarefas que não seria possível com o hipervisor. Há um repositório central de imagens oficiais do Docker já prontas, com aplicações pré configuradas, o https://hub.docker.com/ .Pré requisitos
- docker
- docker-compose
Comandos principais
Ele foi desenvolvido pelo Google, usando a linguagem Go. Os principais comandos do docker são:
Fazer o download na web de máquinas virtuais - as máquinas oficiais podem ser encontradas em https://hub.docker.com/search?q=&type=image .
$ docker pull ubuntu
Exibir as máquinas que existem já no seu computador físico
$ docker images
Remover uma máquina
$ docker rmi ID_ou_nome_da_imagem
Procurar imagens no https://hub.docker.com usando a linha de comando
$ docker search ubuntu
Exibir o histórico de utilização das máquinas no sistema
$ docker ps -a
Exibir as máquinas que estão funcionando
$ docker ps
Rodar a máquina virtual
$ docker run ubuntu
Rodar a máquina virtual já entrando no terminal
$ docker run -it ubuntu sh (sem especificar o aplicativo do terminal, ele vai entrar no terminal padrão)
Rodar a máquina virtual em backgroud
$ docker run -d -p 8080:8080 ubuntu service ubu start
Rodando imagens docker com IPs definidos
$ docker network create --subnet=172.18.0.0/16 mynet123
$ docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash
Criar imagens docker
Crie uma pasta, e dentro dela crie o arquivo Dockerfile, contendo algo como:
FROM ubuntu
RUN export TZ=America/Sao_Paulo
RUN apt update
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install systemd
RUN DEBIAN_FRONTEND="noninteractive" apt -y install vim
RUN DEBIAN_FRONTEND="noninteractive" apt -y install nano
RUN DEBIAN_FRONTEND="noninteractive" apt -y install mysql-server
RUN DEBIAN_FRONTEND="noninteractive" apt -y install apache2
RUN a2enmod rewrite
RUN DEBIAN_FRONTEND="noninteractive" apt -y install php libapache2-mod-php php-mysql
RUN DEBIAN_FRONTEND="noninteractive" apt -y install composer
E em seguida execute na mesma pasta
$ docker build -t hello .
Confirmando alterações no container
$ docker run -it container
[faça qualquer alteração, instale programas, faça configurações, etc]
Saia do container
$ exit
$ docker ps -a
$ docker commit [CONTAINER_ID] [novo_nome_de_imagem]
Exibir informações da máquina, incluindo o endereço IP
$ docker inspect [CONTAINER_ID]
Parar um container
$ docker stop container
Ver ip de uma máquina docker
$ docker ps
$ docker inspect [CONTAINER_ID] | grep "IPAddress"
Executar comandos em uma máquina em execução
$ docker [CONTAINER_ID] exec [CONTAINER_ID] comando
Executar um comando que necessita permanecer no container
$ docker [CONTAINER_ID] exec -it [CONTAINER_ID] comando
Executar um container docker colocando um nome (que pode ser usado em vez do [CONTAINER_ID]
$ docker run --name [nome_da_máquina_em_execução] -it -d container
Exibir o log de inicialização da máquina virtual
$ docker logs [CONTAINER_ID]
Bom proveito
Comentários
Postar um comentário