A docker-compose run
referência afirma que tem a --rm
opção de
Remova o recipiente após a execução.
Quero tornar isso um run
comportamento padrão para alguns dos serviços que especifico em docker-compose.yml
.
Então, as perguntas são :
- Pode de alguma forma ser especificado em
docker-compose.yml
? - Se puder, como posso fazer isso?
( INB4 "Use bash aliases, Luke!" : É claro que posso impor isso fora docker-compose.yml
definindo algum bash alias como alias docker-compose-run='docker-compose run --rm'
, mas estou interessado em como posso impor isso exatamente por meio docker-compose.yml
de , não de alguma forma externa.)
TLDR: Ainda não é possível 2018-11 ; usar
docker-compose down
oudocker-compose run --rm
Quero dar uma resposta atualizada a esta pergunta porque já se passaram quase 3 anos. Isso poupará outras pesquisas.
Eu tive a mesma pergunta e aqui estão as soluções alternativas que encontrei (incluindo a da própria pergunta):
docker-compose down
que faz o seguinte:
Embora você não possa declará-lo,
docker-compose.yml
isso evitará alguns aborrecimentos; especialmente com volumes e redes.docker-compose run --rm
docker-compose rm -f
Não faz parte da especificação
Dockerfile
ordocker-compose.yml
, é apenas uma opção cli para o comando run, então a resposta é não. Você precisará contar com algo externo para impor.Se você tiver alguma ferramenta de compilação para o seu projeto, geralmente é melhor agrupar as tarefas de composição do docker com ela. Por exemplo, nossos projetos gradle fornecem tarefas relacionadas ao docker que definem algumas opções padrão, como
--rm
para tarefas de execução.