Docker で複数コンテナを一括停止/削除する
Docker で複数のコンテナを起動/終了/削除するワンライナーをメモしておきます。
複数コンテナの起動
| for port in $(seq 1 10); do docker run -d -p `expr $port + 8000`:80 --name nginx-$port nginx; done
|
起動後の状態を確認すると以下のようになっているはずです。
1
2
3
4
5
6
7
8
9
10
11
12 | $ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3c2746a3a2f6 nginx "nginx -g 'daemon off" 5 seconds ago Up 4 seconds 443/tcp, 0.0.0.0:8010->80/tcp nginx-10
9449839d7fa4 nginx "nginx -g 'daemon off" 5 seconds ago Up 4 seconds 443/tcp, 0.0.0.0:8009->80/tcp nginx-9
e2c75fd9c272 nginx "nginx -g 'daemon off" 6 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:8008->80/tcp nginx-8
f64599a3da7c nginx "nginx -g 'daemon off" 6 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:8007->80/tcp nginx-7
eb4c2dcf6ee2 nginx "nginx -g 'daemon off" 6 seconds ago Up 6 seconds 443/tcp, 0.0.0.0:8006->80/tcp nginx-6
d5924e3b582a nginx "nginx -g 'daemon off" 7 seconds ago Up 6 seconds 443/tcp, 0.0.0.0:8005->80/tcp nginx-5
789af30695e5 nginx "nginx -g 'daemon off" 7 seconds ago Up 7 seconds 443/tcp, 0.0.0.0:8004->80/tcp nginx-4
e5578ddd3156 nginx "nginx -g 'daemon off" 8 seconds ago Up 7 seconds 443/tcp, 0.0.0.0:8003->80/tcp nginx-3
1471b0a398b5 nginx "nginx -g 'daemon off" 8 seconds ago Up 8 seconds 443/tcp, 0.0.0.0:8002->80/tcp nginx-2
6d48ec7928a5 nginx "nginx -g 'daemon off" 9 seconds ago Up 8 seconds 443/tcp, 0.0.0.0:8001->80/tcp nginx-1
|
全コンテナの強制終了
| docker kill $(docker ps -a -q)
|
全コンテナの削除
| docker rm $(docker ps -a -q)
|
全コンテナの強制終了&削除
| docker ps -a -q | xargs docker kill | xargs docker rm
|