‫Agora, e o Docker Registry em um enxame?
‫Na verdade, não é muito diferente.
‫O bom é que não precisamos executar um comando de encaminhamento do docker, podemos realmente usar um comando de serviço docker, como estamos acostumados
‫ou um arquivo de pilha como já falamos em uma seção anterior. Isso funcionará da mesma forma que no
‫host local, porque realmente podemos simplesmente dizer ao enxame para conversar consigo
‫mesmo para o registro.
‫Então, usaremos o mesmo endereço 127 e não precisamos habilitar o registro inseguro
‫porque isso já é permitido pelo motor Docker. se fosse local, certo, porque esse é o tipo de magia do Routing Mesh.
‫O Routing Mesh basicamente
‫permite que todos os nós conversem com o registro como
‫Eu só quero lembrar que este é um recipiente de dados persistente.
‫Ele armazena dados que precisam durar ao longo do tempo.
‫Então você terá que lidar com um tipo de cenário de produção do mundo real. Você vai ter que lidar com um
‫driver de volume e como lidar, e basicamente tomar uma decisão sobre como você vai armazenar
‫os dados.
‫Mas não vamos fazer isso aqui.
‫Para este exemplo com Swarm, eu realmente vou mudar um pouco e não usar o cluster de três nós
‫que eu usei em uma seção anterior.
‫Na verdade, usaremos o Play With Docker desta vez. Se você acabou de jogar com docker. com, vamos realmente
‫provar que não somos um robô e então vai fazer-me algumas
‫perguntas aleatórias, pode perguntar-lhe, talvez não.
‫Então estamos dentro.
‫Recentemente, o Play With Docker habilitou um novo recurso que torna ainda mais fácil para nós
‫configurar um formulário de teste e que esteja sob o objeto de chave.
‫Acho que é uma chave inglesa. Você vê que há opções aqui que são basicamente
‫modelos para configurar um enxame, então, ao invés de mostrá-lo, este configurado como já fizemos, vou configurar cinco
‫gerentes, nenhum trabalhador, dar um segundo, então Isso irá configurar tudo isso. Basicamente, o que vamos começar é
‫um enxame de cinco nós. Nós apenas vamos executar um registro muito
‫rápido para mostrar como é praticamente o mesmo que antes.
‫Tudo bem. Agora eu tenho cinco nós de gerenciador e se eu fiz o nó docker ls, você pode ver que eu tenho
‫cinco deles.
‫Então, yay. Temos um enxame. o serviço criar e chamá-lo de registro.
‫Vamos realmente
‫apenas executar o registro, mas desta vez vamos usar
‫Vamos publicá-lo novamente como a última vez, a porta 5000, e nós
‫vamos, o registro de imagens.
‫Ai está.
‫Nós podemos fazer um registro docker service ps e diz que ele está sendo executado. Em Play With Docker, obtemos um pequeno botão
‫agradável que aparece sempre que publicamos um aplicativo da web.
‫porta e dá um pequeno e amigável URL amigável que podemos testar esse aplicativo web ou ponto final da web.
‫Isso realmente expõe a
‫Mas você sabe com o Registro, na raiz
‫dele, não é nada, não há nada que seja retornado além de um HTTP 200.
‫O que podemos fazer, porém, é com qualquer registro que podemos realmente ir e olhar para o catálogo e
‫que retornará uma matriz JSON simples.
‫Você notará que seu repositório está vazio.
‫Nós poderíamos ter feito isso na palestra anterior com ele localmente, mas vamos jogar com um pouco
‫aqui, pois estamos nesta solução fácil com o Play With Docker.
‫Deixe-me fazer o mesmo quando faço uma tração do encaixe como antes do mundo do Olá. Agora vou fazer a tag lembrar novamente, então
‫vamos dizer tag hello world e depois vou renomeá-la ou re-tag para um
‫novo repositório 127. 0. 0. 1 5000, vou
‫fazer um empurrão.
‫Deixe-me ampliar isso, por isso pode ser um pouco mais fácil para nós ver.
‫push docker.
‫Então vamos fazer o 127. 0. 0. 1
‫OK. Agora, isso empurrou isso para o nosso repositório. mostram o nome do repo disponível.
‫A maneira como podemos realmente verificar, muito rápido, é se você for nesta outra guia e eu vou atualizar, você notará que os repositórios agora
‫À medida que adicionamos mais, isso aumentaria a matriz e veríamos todos eles lá.
‫Neste ponto, eu poderia fazer como antes, executar essa imagem, funcionaria exatamente como esperávamos
‫e ampliá-la. Para provar esse
‫ponto, posso fazer um nginx de encaixe.
‫simples, a tag docking nginx e,
‫em seguida, empurrar docker, empurrar isso
‫de volta para o nosso registro.
‫Podemos executar um servidor web nginx
‫Então você verá aqui, que eu tenho dois agora. Eu tenho dois repositórios lá. Então, se eu
‫crie um serviço docker,
‫assim como
‫fazemos
‫normalmente, certo, vamos fazer
‫o nginx 80 80, mas desta vez vou especificar a imagem assim.
‫à direita, para iniciar o serviço e queremos usar isso.
‫Estamos
‫dizendo que não queremos usar a imagem Docker Hub,
‫Agora, vamos adicionar algumas opções.
‫Eu realmente vou fazer réplicas 5, de modo que um nginx começará em cada nó, e então
‫vamos fazer uma nova opção que começou a aparecer no 17. 04 Eu acredito, destaque igual a falso e isso nos permitirá realmente ver
‫o comando executado em tempo real.
‫Você verá que está se preparando, o que significa que é basicamente baixar essa imagem do
‫registro para os nós, e então ele se prepara e depois está sendo executado.
‫Aí vamos, acabamos.
‫Se eu puxar, você notará do topo, agora está mostrando a porta 80 porque é um novo serviço,
‫e você verá que eu tenho isso aqui e está funcionando.
‫O que é interessante sobre isso é que quando você está em um enxame, você não pode usar uma imagem que é apenas
‫em um nó,
‫certo?
‫Um enxame deve poder puxar imagens em todos os nós de algum repositório
‫em um registro que todos possam alcançar. capaz de ir ao gerente1 e obtê-lo, certo?
‫Eu não mencionei isso na seção de enxames, mas é um ponto importante, porque isso significa que você não pode apenas criar
‫uma imagem própria em um local, como digamos, neste caso, gerente1, e o gerente2 não vai
‫ser
‫Todos eles têm que fazer empurrar e puxa de um repositório central em algum lugar.
‫Mas porque eu corri o registro como um serviço aqui, eles podem saber como acessar 127 zero zero um e, em seguida,
‫a malha de roteamento os orientará para o recipiente correto, onde esse registro esteja sendo executado em um
‫dos nós e, em seguida, Ele puxará essa imagem nginx para todos os nós, pois eles precisam estar Se você fez um serviço docker ps nginx, você verá que há um executando em cada nó, e você verá que a imagem que está usando é a
‫lá. do nosso registro.
‫OK, então é por apenas mostrar como o Swarm é muito parecido com o Docker Registry.
‫No final, meio que mencionamos, esse novo tidbit, que você precisa certificar-se de que suas imagens que
‫você usa em um enxame só estão acessíveis em qualquer registro em que estejam.
‫Eles precisam ser acessados ​​por todos os nós. Que isso deve ser óbvio, certo, porque os
‫nós não podem compartilhar imagens entre si. Na verdade, todos eles têm que puxá-los de um registro e, portanto,
‫todos eles devem ser capazes de alcançá-lo.
‫Acontece apenas que uma malha de roteamento torna muito mais fácil executar isso.
‫basta usar um dos hospedados na Internet. Eles são redundantes.
‫Assim como um último ProTip pequeno, se você não precisa executar o seu próprio registro, pode ser o mais legal possível, Eles têm monitoramento e todas as coisas apropriadas envolvidas no gerenciamento do armazenamento.
‫Eles geralmente são, especialmente se você está fazendo código
‫aberto, a maioria deles é gratuita.
‫Se você está fazendo isso
‫por motivos particulares e precisa armazenar imagens privadas, a maioria deles é um custo muito razoável, quero dizer, muito baixo custo para armazenar suas imagens.
‫das opções lá fora, eu diria que tente os
‫primeiros e use seu próprio registro
‫se você realmente tiver algum tipo de requisito, talvez, off-line, onde ele deve estar disponível sem a Internet, ou se há apenas alguma restrição de segurança que você realmente não pode usar qualquer plataforma hospedada.
‫Então, se você usa um AWS ou Quay ou Docker Hub ou muitas Porque realmente é apenas uma dessas coisas em que
‫é uma utilidade e é ótimo quando você pode confiar em outra pessoa para resolver esse problema para você.
‫Então espero que você brinque com isso e divirta-se.
‫Agora que você não faz essa palestra, lembre-se de limpar para que você possa começar
‫com uma nova ardósia na próxima palestra.
‫