‫Tudo bem, Nuno está pedindo que eu precise do meu comando docker file para iniciar o servidor Cassandra e depois disso preciso importar um
‫esquema de banco de dados.
‫Qual o melhor jeito pra fazer isso.
‫Portanto, se alguém ainda não lhe respondeu no bate-papo, porque às vezes isso
‫acontece enquanto eu estou divagando sobre o script do ponto de entrada é uma maneira universal de fazer as coisas na inicialização do contêiner.
‫Portanto, isso significa que você tem dentro do arquivo Docker, o ponto de entrada e a BMD.
‫Agora, no meu curso de domínio do Docker, concentro-me no CMT, porque é realmente isso que você precisa entender
‫para começar no começo. O que eu preciso adicionar é uma seção com pelo menos uma palestra sobre o ponto de entrada
‫e discutindo as várias maneiras pelas quais você pode faça pontos de entrada.
‫Portanto, um ponto de entrada quando o dividimos no CND é na verdade duas partes da mesma linha
‫ou comando único que o Docker executa quando o contêiner é iniciado.
‫Mas o truque é que, com a mágica do script bash, você pode pegar o ponto de entrada e, em vez de ser
‫apenas o começo do comando que pode estar na frente do CMT, ele pode executar um script e, no
‫final, o script você pode dizer para passar a execução para o restante da linha de comando.
‫Portanto, pode não fazer muito sentido, mas vamos dar uma olhada no mundo real e ver o que
‫podemos ver, para que eu inicie minha sequência porque realmente qualquer sistema de armazenamento de dados persistente agirá
‫da mesma
‫maneira aqui e se eu procurar no Docker
‫Hub, estou no Docker Hub, minha imagem oficial da sequela.
‫E se eu clicar em qualquer uma dessas versões para cima, obterá o arquivo docker que é de código aberto
‫e, nesse arquivo, você encontrará muitas coisas.
‫Obviamente, está instalando minha sequela e ficando a sequencia configurada corretamente, mas na parte inferior você notará
‫algumas coisas: copiar um script de shell em um determinado local e executar a montagem lá, mas isso é apenas
‫para compatibilidade com versões anteriores.
‫Mas aqui embaixo, esta é a parte principal do script do ponto de entrada,
‫no qual o próprio ponto de entrada o comando no arquivo mais escuro não precisa ser um script.
‫Novamente, é realmente apenas tomar se, se existir, o ponto de entrada e eles virem o OMD,
‫é apenas juntá-los e executá-los todos em uma linha.
‫Então você verá isso da maneira mais comum em que o ponto de entrada é usado, seja para o início de um comando que,
‫talvez, se você estiver usando o Docker para executar um utilitário de linha de comando, faça isso
‫em 82 ping, para ver se consigo tem um github.
‫Eu tenho uma imagem do Docker e recebo o repositório do hub por trás disso, e o que está fazendo é executar um único utilitário de
‫linha de comando em um contêiner.
‫E a maneira como funciona aqui é que eu tenho o ponto de entrada sendo o próprio comando.
‫E então, como o CMB vai depois disso, quando eu tenho os dois no meu arquivo Docker,
‫apenas os alterna.
‫Eu o tenho executando o CRM D padrão; portanto, se você pensar sobre isso quando executo esse
‫comando no comando, eu posso executar o Docker.
‫Brett Fisher reduz HP pagando.
‫E então, basta clicar em enter e, em seguida, ele executa automaticamente o comando version.
‫Mas se eu continuar digitando a linha de comando corretamente.
‫Tucker corre.
‫Brett Fisher, se eu fizer isso, vai puxar a imagem.
‫Opa, desculpe, deixe-me mudar de tela
‫para você, se eu executar essa imagem, ela será executada por padrão e basicamente ajudará porque é o
‫que o arquivo docker disse para fazer na linha CRM D.
‫Mas se eu mudar alguma coisa no final, porque lembre-se do formato de um comando docker
‫run é que ele executa o Docker e, em seguida, executa suas opções, em seguida, faça a imagem que você definirá,
‫executará e depois qualquer coisa depois que substitui o CND na linha.
‫Portanto, é como uma substituição dinâmica do CMT.
‫Portanto, se eu apenas rodar aqui o Google dot com, ele substituirá a versão do traço que seria executada por padrão.
‫Portanto, é uma maneira muito legal de usar o Docker run como um utilitário de linha de comando e isso é bom.
‫Esse é o meu exemplo, essencialmente, de como fazer isso.
‫Agora, a outra maneira de
‫fazer isso não é que essa é a única maneira de fazê-lo da outra maneira, é um script
‫de shell; portanto, veremos aqui o ponto de entrada aqui para definir o arquivo que ele deve executar.
‫E então, se eu apenas rolar até o topo aqui e fizer este diretório de oito pontos, eu meio que subo um
‫diretório, na verdade, vou achar que há outro arquivo lá.
‫Esse é o script do ponto de entrada do docker que ele está copiando na construção.
‫Agora neste script o que está acontecendo.
‫Há toneladas de coisas aqui.
‫Provavelmente pelo menos cem linhas.
‫Sim.
‫Na verdade, são centenas de linhas.
‫Mas a parte mágica aqui é essa.
‫Reduzir o zoom.
‫OK.
‫Vá embora barra de rolagem.
‫Eu não quero ver você.
‫Vamos apenas
‫ao Ras, aquele ponto final lá.
‫Exatamente.
‫E então o sinal de cifrão que diz ao shell ei, eu estou encerrando este script, por favor, passe a execução para o resto da
‫minha linha de comando, que seria o que estiver no CMT e, nesse caso, foi o demônio
‫da minha sequela.
‫Então, basicamente, o que vai acontecer quando um contêiner é iniciado nesse caso é que ele executará o script.
‫Chega ao final do script, exatamente o que diz Por favor, faça o que mais eu lhe disse
‫no final deste comando e isso executa seu demônio.
‫Você é meu demônio sequela em primeiro plano, para que continue funcionando.
‫Agora, o que o script faz é todas as coisas que você provavelmente não sabia que estavam acontecendo em segundo plano
‫quando você iniciou um contêiner de banco de dados.
‫Ele cria o usuário padrão que você deseja definir.
‫Ele altera a senha root para o que você deseja definir.
‫Ele cria o banco de dados com base no que você disse e está fazendo tudo isso e as variáveis de ambiente
‫corretamente.
‫Porque se fizermos backup apenas para duplicar isso e se fizermos backup na biblioteca, você sabe que na
‫maioria dessas imagens oficiais, você terá um monte de variáveis de ambiente
‫e as especificará aqui.
‫E todas essas variáveis de ambiente são usadas nesse script para pré-configurar minha sequela.
‫Agora, no próprio arquivo, se você realmente mergulhar nele, ele está definindo algumas variáveis de ambiente e localizando arquivos,
‫caso esteja usando as coisas secretas quentes de Drucker assim e, basicamente, está obtendo
‫todos os dados necessários para configurá-lo.
‫Em seguida, inicia minha sequela configurada, incluindo a alteração da senha root em todas as outras coisas.
‫Em seguida, desliga minha sequela e, em seguida, termina o script e passa a execução para minha sequela para iniciar
‫novamente, mas desta vez para sempre.
‫Portanto, é basicamente o início da sequela, fazendo algumas coisas parar as sequências, iniciando um backup.
‫E é dessa maneira que todos eles funcionam, todos esses sistemas de armazenamento persistente dentro dos contêineres oficiais
‫funcionam.
‫Então, para você A resposta mais longa a essa pergunta é que você deseja usá-la em seu
‫próprio script de captura personalizado. Talvez você copie o padrão, se houver, ou faça
‫sua própria imagem e faça sua própria imagem. que criaria esse esquema inicialmente na primeira inicialização.
‫Agora, quando você tem medo de um esquema dentro do banco de dados, sabe que não deseja realmente
‫atualizar os esquemas da mesma maneira que gostaria de fazer outros esquemas.
‫Através de algum outro utilitário fora desse contêiner, você executaria seus comandos my cycle a partir
‫de outro contêiner e, em seguida, eles executariam na rede algo assim.
‫Agora você não precisa alterar isso, basta iniciar o Cassandra e adicionar o esquema de
‫um controle remoto a partir de um contêiner diferente, mas você precisaria controlar corretamente o pedido.
‫Você teria que esperar Cassandra iniciar.
‫Você precisaria ter outro contêiner que talvez tenha seu próprio script e, em seguida, esse script talvez seja inteligente
‫o suficiente para continuar verificando o Cassandra para ver se está pronto.
‫E, quando estiver pronto, execute o esquema, atualização do esquema ou a instalação original do esquema.
‫Essencialmente, você pode fazer dessa maneira e de muitos casos, provavelmente é o caminho certo para fazê-lo, mas
‫especialmente quando você está desenvolvendo localmente ou apenas deseja acelerar algo pequeno e fácil e
‫deseja criar um esquema da primeira vez e você queria fazê-lo automaticamente, o que você faria
‫aqui é que usaria a imagem padrão oficial e adicionaria seu próprio esquema e arquivo àquele em
‫sua própria imagem personalizada e, basicamente, faria quando iniciou o primeira vez que
‫faria isso agora.
‫Aqui está o problema e você deve observar esse script de ponto de entrada sempre que o contêiner iniciar pelo menos a
‫partir dessa imagem, a partir da imagem que você criou para a customizada.
‫Portanto, você quer ter certeza de que seu script é inteligente o suficiente para não executar o esquema repetidas vezes
‫em um banco de dados de anúncios que já possui o esquema.
‫Portanto, você precisa aproveitar essa inteligência e, por isso, às vezes, dependendo do seu modelo, se estiver pensando em atualizar as
‫coisas regularmente ou se estiver constantemente movendo bancos de dados em um cluster de enxame ou em um
‫cubano de idéias cubanas, faça-o dentro do próprio contêiner de banco de dados pode não ser a estratégia certa para
‫você, mas esta opção existe.
‫Então confira.
‫E isso é como as notas do penhasco sobre o que fazer com os pontos de entrada que não estavam no meu
‫curso original, então eu provavelmente poderia dizer que este vídeo está lá e tem menos material suplementar no momento,
‫melhor do que não ter nada.