É possível usar uma variável de ambiente como verificação de integridade do docker

user1990218

Eu tenho uma imagem personalizada do mysql. Quando executamos o contêiner, ele baixa um dump do mysql de nosso artifactory para carregar alguns dados. Tenho a seguinte verificação de integridade em meu comando docker run:

--health-cmd='mysql -u myusername -pMyPassword'

Mas o que eu quero fazer é definir a integridade do contêiner para íntegra quando os dados forem importados, o que geralmente leva cerca de 5 minutos. Uma ideia que tive é talvez definir uma variável de ambiente, mas, nesse caso, não saberia qual seria o cmd de saúde. Ou talvez haja uma maneira melhor de fazer isso?

Estou apenas começando com o docker, meu conhecimento é muito limitado.

b0gusb

Uma solução simples seria atualizar uma tabela especial (digamos status) quando o carregamento estiver concluído. Em seguida, substitua o comando health-check por um bashscript

#!/usr/bin/env bash
# the table status is updated when the load finishes
SQLSTMT="SELECT status FROM myDatabase.status WHERE status='done'"

# execute the SQL script and get the result
STATUS=`mysql -AN -e "${SQLSTMT}"`

# return exit code 0 (container healthy) if status is done,
# otherwise exit code 1 (container is not healthy)
[ "$STATUS" == 'done' ]

o health-cmdtorna-se:

--health-cmd='/path/to/script.sh'

Deve funcionar mesmo se você criar a tabela após o término do processo de carregamento.

Outra opção é criar um novo arquivo (mesmo vazio) quando o carregamento terminar. O comando de saúde testará a presença do arquivo:

--health-cmd="/usr/bin/test -f /path/to/file" 

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

É possível usar o docker como ambiente de desenvolvimento para ambiente padrão do mecanismo de aplicativo golang?

Como passar uma variável de ambiente semelhante a json para a execução do docker

Como você passa uma variável de ambiente para o Solr em execução no Docker quando a variável de ambiente só existe dentro do contêiner?

Como usar uma variável de ambiente de um docker-compose.yml em um Dockerfile?

Como usar uma variável de ambiente na seção do agente de um pipeline declarativo do Jenkins?

Como usar uma variável de ambiente no comando powershell

Como posso usar uma variável de ambiente no console MySQL

Como usar uma variável de ambiente no odoo.conf

Como posso usar uma variável de ambiente em uma chave dentro do arquivo yaml

Não é possível executar uma verificação de integridade em uma imagem docker implantada no Pivotal Cloud Foundry

Como usar uma solicitação HTTP HEAD como verificação de integridade do Marathon?

Como usar uma variável de ambiente como caminho de prefixo ao configurar o NGINX?

Como usar uma variável de ambiente para comprimento em uma substituição de string variável?

Como usar uma variável de ambiente para comprimento em uma substituição de string variável?

Como você passa uma variável de ambiente do WSL para o executável do Windows

Como você passa uma variável de ambiente do WSL para o executável do Windows

Como posso usar uma variável de ambiente do Windows em minha API .NET Core?

Rails no Elastic Beanstalk, não é possível fazer uma verificação de integridade do balanceador de carga

Como usar condicionalmente uma variável de ambiente de desenvolvimento ou produção

Como fazer uma verificação de integridade do Docker com wget em vez de curl?

Como modifico uma variável de ambiente do shell no swift?

Como usar a variável de ambiente local com o Vagrant?

Como usar a variável de ambiente local com o Vagrant?

Como faço para usar a variável de ambiente Docker na matriz ENTRYPOINT?

Como posso usar a variável de ambiente no arquivo de configuração do hibernate?

Nome do repositório como uma variável de ambiente de ação do GitHub?

Reinicie o docker com uma variável de ambiente diferente

Passe uma variável de ambiente para o Docker

Python: é possível usar como padrão um argumento para uma variável do espaço de nome global?

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo