Eu tenho um contêiner docker no Ubuntu 16.04 e quero executar um comando docker periodicamente. Depois de verificar o comando é executado com sucesso a partir da linha de comando eu configurei um crontab com o seguinte:
*/1 * * * * sudo docker run {image-name} python3 /{path-to-scrip}/script.py
Isso parece funcionar corretamente até que o script exiba algo após o qual os crons não serão executados e impedirá que a janela de encaixe trabalhe com a seguinte mensagem:
docker: Error response from daemon: connection error: desc = "transport: dial unix /var/run/docker/containerd/docke
r-containerd.sock: connect: connection refused".
Eu li que stdout pode ser o problema e eu tentei o seguinte no crontab:
*/1 * * * * sudo docker run {image-name} python3 /{path-to-scrip}/script.py > /home/logs 2>&1
Isso não resolveu o problema e o arquivo de registros permanece vazio.
Isso está sendo executado em uma máquina virtual, e a reinicialização da instância me leva de volta à estaca zero onde o docker é executado.
Eu não sou o administrador de sistemas mais experiente e suspeito que cometi um erro ingênuo, mas não sei como progredir isso? O que devo ter feito para configurar o cron?
Informações adicionais
Não tenho certeza se é relevante, mas isso está sendo executado em uma instância do mecanismo do Google Cloud e o firewall está configurado para proibir todas as conexões externas.
Atualizar
Depois de um palpite sobre a execução do CentOS7, a tarefa do cron funcionou por várias horas, mas o script deu um erro. O erro é algo a ser esperado do script, mas isso levou à mesma mensagem do docker e o cron não funciona mais.
Outras atualizações
De este tópico , decidi executar o docker inspect --format '{{json .State}}' {ID do contêiner for failed run} - isso mostra o seguinte:
{"Status":"running","Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":8204,"ExitCode":0,"Error":"","StartedAt":"2018-01-02T03:1
5:03.016836367Z","FinishedAt":"0001-01-01T00:00:00Z"}
Acho que só preciso descobrir como impedir que o processo seja executado para desligar o contêiner.