Como usar o Docker: Criando o primeiro contêiner do Docker

Você está aqui:
Tempo estimado de leitura: 2 min

Este tutorial explica as noções básicas de introdução ao Docker. Eu suponho que você já tenha o Docker instalado. As etapas deste tutorial funcionarão em qualquer distribuição do Linux que seja compatível com o Docker (CentOS, Ubuntu, etc).

Criando seu primeiro contêiner do Docker

O Docker cria contêineres virtuais. O sistema de contêineres do Docker é muito eficiente porque funciona com commits. Isso economiza espaço e permite que você veja as alterações no contêiner. Por exemplo, se você instalar o Apache em um contêiner, poderá criar um commit com o nome “Apache instalado” para saber exatamente o que aconteceu.

A primeira coisa que faremos é puxar de um repositório. Digamos que você queira instalar o Ubuntu em um container, você pode extrair o Ubuntu do repositório:

docker pull ubuntu

Seja paciente, pois isso pode demorar um pouco. Depois que tudo tiver sido baixado, você pode criar um contêiner com este sistema operacional:

docker run -i -t ubuntu /bin/bash

Ou com o Debian, por exemplo:

docker run -i -t debian /bin/bash

Se não conseguir encontrar o sistema operacional (ainda não foi puxado), ele será automaticamente puxado do Docker Hub.

Efetivamente, agora você tem um contêiner! Você está executando o bash no contêiner que é gerenciado pelo Docker. Tente executar alguns comandos comuns do Linux para ter uma ideia do ambiente.

Quando você digita exitpara sair do contêiner e retornar ao seu sistema operacional principal, todas as suas alterações serão perdidas. Para salvar as alterações em um contêiner, usamos commits.

Commits

Quando você cria um contêiner do Docker, seu nome de host é gerado automaticamente. Por exemplo, quando eu crio um novo contêiner do Ubuntu, posso obter o nome do host f7943e42aff0. Esse é o nome que o Docker deu ao seu contêiner.

Instale o que você quer e garanta que tudo funcione. Em seguida, saia do seu contêiner do Docker:

exit

Agora precisamos nos comprometer; caso contrário, todas as suas alterações serão perdidas.

docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot

-aswitch pode ser usado para determinar corretamente quem criou o commit (quem fez as alterações no contêiner). -mé a mensagem de confirmação. O f7943e42aff0é o nome do host do meu contêiner. No seu caso, será diferente, pois o Docker os gera aleatoriamente. apachesnapshoté o nome da sua imagem.

Você pode visualizar uma lista com todas as imagens em sua máquina local. Os mais novos estão no topo.

docker images

Para iniciar seu contêiner do Docker com as alterações, execute:

docker run -t -i apachesnapshot /bin/bash

Usando Dockerfiles

Os Dockerfiles podem ser usados ​​para criar imagens com aplicativos já instalados. Isso torna conveniente iniciar um contêiner sem precisar executar um comando específico. Por exemplo, se quisermos criar uma imagem com o arquivo ~/file.txtjá criado, usaremos o seguinte Dockerfile:

FROM ubuntu:14.04
MAINTAINER William E. <[email protected]>
RUN touch ~/file.txt

Para criar um contêiner do Docker com este Dockerfile, crie uma pasta para o Dockerfile em sua máquina local (usei ~/files). Coloque o conteúdo do seu Dockerfile em um arquivo chamado Dockerfile. Agora você pode criar uma imagem com ela executando:

docker build -t="test" .

Isso cria uma imagem do Docker a partir do seu script Dockerfile. Agora você pode executar seu contêiner. testé o mesmo valor que testno docker buildcomando.

docker run -t -i test /bin/bash

Quando o shell bash abrir, você verá que o ~/file.txtjá foi criado.

Esta é apenas uma amostra dos ambientes poderosos que você pode criar usando o Docker. O manual oficial do Docker é mais aprofundado nesses tópicos. Nesse ponto, você deve experimentar os contêineres existentes e começar a criar seus próprios.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 32

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?