【Docker】時々使うコマンド(一括削除コマンド、データボリュームをバックアップ)

2022年8月25日

一括削除コマンド

停止コンテナ、タグ無しイメージ、未使用ボリューム、未使用ネットワーク一括削除

docker system prune

停止コンテナ一括削除

docker container prune

全コンテナ一括削除

docker rm -f `docker ps -a -q`

未使用イメージ一括削除

docker image prune

タグ無しイメージ一括削除

docker rmi `docker images -f "dangling=true" -q`

未使用ボリューム一括削除

docker volume prune

Dockerのデータボリュームのバックアップ/リストア

バックアップ

コンテナを作成し、ホスト側のカレントディレクトリ($PWD)に、MySQLのデータが保存されている「/var/lib/mysql」のバックアップ(backup.tarという名前にした)を取りだします。

コンテナは–rmオプションによってすぐに破棄されます。

docker run --rm --volumes-from mysql_con -v $PWD:/backup busybox tar cvf /backup/backup.tar /var/lib/mysql

成功すれば、ホスト側のカレントディレクトリにbackup.tarファイルが生成されます。

リストア

mysql_con2という名前のMySQLサーバのコンテナを新規に作成し、このコンテナにバックアップファイルをリストアすることを想定します。下記コマンドによって同時にデータボリュームであるmysql_db2も生成されます。

docker run --name mysql_con2 -v mysql_db2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass -d mysql

リストアするためだけのコンテナを作成しホスト側のカレントディレクトリ($PWD)に置いてあるbackup.tarを解凍します。

docker run --rm --volumes-from mysql_con2 -v $PWD:/backup busybox tar xvf /backup/backup.tar

参考

Docker

Posted by Next-k