Skip to content

Docker で複数コンテナを一括停止/削除する

Docker で複数のコンテナを起動/終了/削除するワンライナーをメモしておきます。

複数コンテナの起動

1
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

全コンテナの強制終了

1
docker kill $(docker ps -a -q)

全コンテナの削除

1
docker rm $(docker ps -a -q)

全コンテナの強制終了&削除

1
docker ps -a -q | xargs docker kill | xargs docker rm