Qual é a melhor maneira de executar um contêiner Docker? Cron ou outros meios? Com vários arquivos de origem que ele precisa extrair?

0

Estou procurando executar várias instâncias do meu contêiner do Docker e fazer com que cada contêiner seja executado novamente a cada 30 minutos.

Eu tenho um arquivo conf em um diretório src que o contêiner do Docker precisa extrair para poder ser executado. Por exemplo

Uso:

docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok

Em que example.com/conf: é o local do qual o contêiner precisará para puxar o arquivo conf para ser executado.

Eu tenho vários diretórios example.com ... 3 a 4 deles.

Meu script bash seria parecido com:

sdok.sh

#!/bin/bash
cd /home
docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com1/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com2/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com3/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com4/conf:/opt/tool/conf --rm -it sdok

Depois, eu apenas cronografaria o script sdok.sh e o deixaria rodar a cada 30 minutos. Existe uma maneira melhor de fazer isso?

*/30 * * * * cd /home/wraiith75/bugbounty/tool/example.com && ./sdok.sh

Por favor, deixe-me saber, obrigado!

    
por WeAreOne 08.10.2018 / 21:31

1 resposta

1

  1. Por que -it ? -d seria mais apropriado
  2. Com --rm , você perde os registros e não terá pistas em caso de problemas.
  3. Usar um arquivo docker-compose em vez de um script pode ser melhor (você continua reiniciando os mesmos contêineres e mantém os registros)
  4. Se você mantiver o script bash, poderá escrevê-lo como um loop sobre seus diretórios example.com *.
por 08.10.2018 / 22:13