docker executa o script no início, confirma as alterações e remove o script montado

docker executa o script no início, confirma as alterações e remove o script montado

Tenho um script que desejo executar em imagens existentes. Para isso eu monto o script enquanto executo o container, faço commit das alterações e substituo a imagem. O problema de vincular o script no início é que o volume também permanece na nova imagem. Ao executar uma inspeção na imagem, posso ver que ele se torna um argumento permanente e a execução falha porque o sistema host não possui o script único.

Existe alguma maneira de o script ser executado, fazer alterações no nível do sistema operacional e ser removido completamente. O script é bastante complexo e também chama vários outros scripts.

comando para executar o conatainer com script

 docker run --name temp_container --ipc host -v /path_to_scripts_dir:/new_dir iamge bash -v /new_dir/call_scripts.sh'

Novo no docker, qualquer indicação ajudaria!

Responder1

Você poderia tentar com a --rmbandeira.

Por padrão, o sistema de arquivos de um contêiner persiste mesmo após a saída do contêiner. Isso torna a depuração muito mais fácil (já que você pode inspecionar o estado final) e retém todos os seus dados por padrão. Mas se você estiver executando processos em primeiro plano de curto prazo, esses sistemas de arquivos contêineres podem realmente se acumular. Se, em vez disso, você quiser que o Docker limpe automaticamente o contêiner e remova o sistema de arquivos quando o contêiner sair, você pode adicionar o sinalizador --rm

Referência de execução do Docker

informação relacionada