#社内wikiの突然の死
docker-composeで運用していたwikiサーバーが突然死んだ。原因を調べようにもsshさえできない状況だった。バックアップ処理はしてあるので、安心してインスタンスを再起動。
docker-compose up -dができない
upを試みるも、生き残っているコンテナのせいで立ち上がってこない。
なので、全部一旦消しとばす。
$ docker-compose down
よーし、これでupできる・・・
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
34baa4549220 growi_app "/docker-entrypoint.…" 28 hours ago Up 27 hours 0.0.0.0:80->3000/tcp growi_app_1
!?
##バカな!?貴様は死んだはず!!
なんか全然ピンピンしているappコンテナ。なんだお前、いつからそんな雑草根性身につけた?
$ docker-compose rm app
$ docker stop growi_app_1
$ docker-compose kill
とっさに思いついた死のコマンド飛ばしてもこいつ生きてやがる・・・!!
こいつ、無敵か?!
仕方ねぇ、全部吹っ飛ばしてやるよ・・・!
$ docker rm -f container_id
よーし、死んだな、手こずらせやがって・・・
さて、docker-compose up -dだ
ERROR: endpoint with name test_mysql_1 already exists in network growi_default
くぁwせdrftgyふじこlp!!!!?????
なんだテメェは!?第二形態か!?
##第二形態 docker network
あのコンテナのネットワークだけ生きてやがる!?そんなのありか!?
下記コマンドを打ってあげると、ネットワークのIDやら名前やらが出てきます。
$ docker network inspect growi_default
出力結果はこんな感じ。
"Containers": {
"***********************************": {
"Name": "growi_app_1",
"EndpointID": "***************",
"MacAddress": "***************",
"IPv4Address": "**************",
"IPv6Address": ""
},
そしてネットワークはこの下記コマンドで消せる・・・
$ docker network disconnect growi_app_1
よっしゃ、これでdocker-compose up -dできる・・・
ERROR: endpoint with name test_mysql_1 already exists in network growi_default
なんという生命力よ!ならばフォースの力をくわえてやる! っ-f
$ docker network disconnect -f growi_default growi_app_1
倒した。
念の為、一旦前のイメージを削除して、再度イメージを作り直し、再upしました。デーモンコンテナは異常に強いというお話です。
$ docker rmi container_id
$ docker-compose build
$ docker-compose up -d