はじめに
Dockerコンテナが立ち上がらない時困らないように忘備録つくりました!
コンテナ・イメージ一括削除系
滅びの呪文
# コンテナ、イメージ、ボリューム、ネットワーク一括完全消去
$ docker-compose down --rmi all --volumes --remove-orphans
# 全コンテナ停止
$ docker stop $(docker ps -q)
# 全コンテナ削除
$ docker rm $(docker ps -q -a)
# 全イメージ削除
$ docker rmi $(docker images -q)
# 上記コマンドをまとめて実施
docker stop $(docker ps -q) && docker rmi $(docker images -q) -f
面倒なのでエイリアスコマンドで登録
エイリアスコマンド登録
$ vi ~/.bashrc
# 登録したいエイリアスコマンドを書く(例)
alias docker-rmi='docker stop $(docker ps -q) && docker rmi $(docker images -q) -f'
# 保存
:wq
# .bashrcファイル有効化
$ source ~/.bashrc
$ docker-rmi
$ docker rm $(docker ps -q -a)
ポートの衝突を解決
ERROR: for db Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use
ERROR: Encountered errors while bringing up the project.
# ホスト側で3306ポートが使われていないか確認
$ sudo lsof -i -P | grep "LISTEN"
mysqld 118 _mysql 27u IPv6 0x8941af447fb23fc3 0t0 TCP *:3306 (LISTEN)
# 見つけたら削除
$ sudo kill 118
A server is already running.
pidファイル削除
$ sudo rm tmp/pids/server.pid
dockerコンテナ一気に立ち上げ
$ docker-compose up -d --build
さいごに
システムを複数動かしたりDoker関連を変更すると、しょっちゅうシステムが動かなくなることがあります。いつでも振り返って直ぐに解決できるように、解決方法をまとめてみました。Dockerは環境を簡単に壊したり作り直したりできるので、設定は難しいけど、便利さも最近感じてきています。
今回主に参考にさせていただいた記事