Costumo executar estas declarações:
docker stop $(docker ps -aq); docker rm $(docker ps -aq)
Qual é o caminho mais curto para digitar isso? tentei
docker {stop, rm} $(docker ps -aq)
mas isso não se expande para duas declarações separadas.
Costumo executar estas declarações:
docker stop $(docker ps -aq); docker rm $(docker ps -aq)
Qual é o caminho mais curto para digitar isso? tentei
docker {stop, rm} $(docker ps -aq)
mas isso não se expande para duas declarações separadas.
Começando com:
e se capturarmos o
docker ps -aq
em uma variável, para não calculá-lo duas vezes? Espera-se que seja o mesmo valor: todos os contêineres. Se isso mudasse, estaríamos executandorm
em um conjunto de contêineres diferente daqueles em que invocamosstop
:Conseguimos encurtar a sequência de comandos e garantir que ela opere no mesmo conjunto de contêineres.
O caminho mais curto é criar uma função que execute os dois comandos, colocá-la nos arquivos de inicialização do seu shell e usá-la.
por exemplo
(Ainda mais curto se você fizer com que a função tenha um nome de uma letra.)
Para reduzir a repetição em detrimento do clichê, você pode usar um loop:
ou para criar vários comandos com expansão de chaves, você poderia fazer algo assim, não que eu esteja sugerindo seriamente que alguém use isto :
Use o
-f
argumento para forçar a remoção.Isso irá parar e remover o contêiner em um único comando. A adição
-v
também removerá volumes anônimos pertencentes ao contêiner.Usando a expansão do histórico:
ou