Docker é um ambiente de virtualização de contêiner que pode estabelecer ambientes de desenvolvimento ou de tempo de execução sem modificar o ambiente do sistema operacional de base. Ele tem a capacidade de implantar instâncias de contêineres que fornecem uma virtualização usando o kernel do host, o que o torna mais rápido e leve do que a virtualização de hardware completa.
Os contêineres que produzem Kernel Panic induzirão Kernel Panic no sistema operacional do host.
Para instalar vamos utilizar o snap
. Só lembrando que o snap está disponível para diversas distribuições, como: Arch, Gentoo, Linux Mint e entre outras. O legal dele é que iremos evitar problemas de versões do Docker.
sudo snap install docker
- Instala o Dockerps -A | grep docker
- Verifica se o daemon já está rodandosudo docker run hello-world
- Rodando seu primeiro contêinerA saída será algo do tipo:
Verique quais grupos estão disponíveis no seu sistema, rode o comando: cat /etc/group | cut -d: -f1
(para exibir grupos ao lado: cat /etc/group | cut -d: -f1 | tr '\n' ' ' && echo
) , se entre os grupos listados estiver docker , então esse grupo existe, se quiser rodar um comando que lhe diz se existe ou não o grupo, rede o comando: [[ $(grep 'docker' /etc/group) ]] && echo 'Existe o grupo docker' || echo 'Não existe o grupo docker'
Use esse passo somente se não existir o grupo docker. Então crie o grupo com o comando: sudo groupadd docker
.
Agora adicione seu usuário ao grupo docker com o comando: sudo usermod -aG docker $USER
(ou sudo gpasswd -a $USER docker
) e verifique se você agora está no grupo com o comando groups $USER
.
Se quiser remover o usuário do grupo, rode:
sudo gpasswd -d $USER docker
docker run hello-world
, se rodar é porque está tudo certo.Para esse exemplo vamos utilizar um aplicativo de Shell Script: Funções ZZ
Primeiro, baixe a imagem do contêiner para a sua máquina:
Se fizer parte do grupo docker como anteriormente mencionado, ignore o sudo para todos os passos seguintes.
sudo docker pull funcoeszz/zz
A saída será algo do tipo:
Liste as imagens que já estão na sua máquina:
docker images
Agora basta rodar o contêiner e informar qual função você quer usar, junto com seus parâmetros, exemplo: sudo docker run --rm funcoeszz/zz maiusculas tá funcionando
Saída:
docker search nginx
docker info
e outras, consulte: docker --help
ou docker
somenteO comando docker run pega a imagem do Docker como modelo e produz um contêiner a partir dela.
docker images
ou docker image ls
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)
ou docker rmi ID_IMAGE
mkdir myshell && cd myshell
vim Dockerfile
vim myshell.sh
Ou
Esse caso para exemplo de servidor, para jogar para background
chmod +x myshell.sh
docker build --tag=myshell .
docker image ls
docker run myshell
ID do conteiner:
docker container ls
[Create Repository +] , estilo criar um repositório no GitHub: nome, descrição, public..create
docker login
, insira seu nome de usuário[ENTER] e depois sua senha[ENTER]docker tag myshell terminalroot/myshell:v1
ou sem tag: docker tag myshell terminalroot/myshell
docker push terminalroot/myshell:v1
ou se você não inseriu tag: docker push terminalroot/myshell
Se quiser testar é só remover as images e os conteiners todos e depois fazer o pull
explicado no início e ver se está funcionando de verdade.
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker images
docker rmi IMAGE_ID [nImage_ID ...]
Listando os snaps e remove o snap:
Mais inforções sobre snap
Mais em: https://alternativeto.net/software/docker/
docker virtualizacao gnulinux ubuntu