Compartilhar seu aplicativo

Agora que fizemos uma imagem, vamos compartilhá-la! Para compartilhar imagens do Docker, você precisa usar um registro do Docker. O registro padrão é Docker Hub e é de onde todas as imagens usadas foram fornecidas.

Criar um repo

Para fazer push de uma imagem, primeiro, você precisa criar um Docker Hub.

  1. Vá para Docker Hub e faça logoff, se necessário.

  2. Clique no botão Criar Repositório.

  3. Para o nome do repo, use getting-started . Certifique-se de que a Visibilidade seja Public .

  4. Clique no botão Criar!

Se você procurar no lado direito da página, verá uma seção chamada Comandos do Docker. Isso fornece um exemplo de comando que você precisará executar para fazer push para esse repo.

Comando do Docker com exemplo de push

Enviar a imagem por push

  1. Na linha de comando, tente executar o comando push que você vê no Docker Hub. Observe que o comando estará usando seu namespace, não "docker".

    $ docker push docker/getting-started
    The push refers to repository [docker.io/docker/getting-started]
    An image does not exist locally with the tag: docker/getting-started
    

    Por que ele falhou? O comando push estava procurando uma imagem chamada docker/getting-started, mas não encontrou uma. Se você docker image ls executar , também não verá um.

    Para corrigir isso, você precisa "marcar" sua imagem existente criada para dar a ela outro nome.

  2. Entre no Docker Hub usando o comando docker login -u <username> .

  3. Use o docker tag comando para dar um novo nome à getting-started imagem. Certifique-se de trocar <username> com sua ID do Docker.

    docker tag getting-started <username>/getting-started
    
  4. Agora, tente o comando push novamente. Se você estiver copiando o valor de Docker Hub, poderá soltar a parte, pois não adicionou uma tagname marca ao nome da imagem. Se você não especificar uma marca, o Docker usará uma marca chamada latest .

    docker push <username>/getting-started
    

    Em vez da linha de comando, você também pode clicar com o botão direito do mouse na marca de imagem na seção Imagens da exibição do Docker e escolher Push... e, em seguida, Conexão registro... e, em seguida, Docker Hub.

Executar a imagem em uma nova instância

Agora que sua imagem foi criada e esguia em um registro, tente executar o aplicativo em uma nova instância que nunca viu essa imagem de contêiner! Para fazer isso, você usará o Play with Docker.

  1. Abra o navegador para Reproduzir com o Docker.

  2. Entre com sua conta Docker Hub conta.

  3. Quando você estiver conectado, clique no link "+ ADICIONAR NOVA INSTÂNCIA" na barra do lado esquerdo. (Se você não o vir, faça com que seu navegador seja um pouco mais amplo.) Após alguns segundos, uma janela de terminal será aberta no navegador.

    Reproduzir com o Docker adicionar nova instância

  4. No terminal, inicie seu aplicativo recém-pressionado.

    docker run -dp 3000:3000 <username>/getting-started
    

    Você deve ver a imagem ser retirada e, eventualmente, iniciar!

  5. Clique no selo 3000 quando ele aparecer e você deverá ver o aplicativo com suas modificações! Viva! Se o selo 3000 não aparecer, você poderá clicar no botão Abrir Porta e digitar 3000.

Recapitulação

Nesta seção, você aprendeu a compartilhar imagens ao esvasá-las para um registro. Em seguida, você foi para uma nova instância e conseguiu executar a imagem recém-pressionada. Isso é muito comum em pipelines de CI, em que o pipeline criará a imagem e a por pushá para um registro e, em seguida, o ambiente de produção poderá usar a versão mais recente da imagem.

Agora que você descobriu isso, lembre-se de que, no final da última seção, ao reiniciar o aplicativo, você perdeu todos os itens da lista de itens de todo o trabalho. Obviamente, essa não é uma ótima experiência do usuário, portanto, você aprenderá a seguir como persistir os dados entre as reinicializações!

Próximas etapas

Continue com o tutorial!