Dockerのイメージ・コンテナが全部消えた【ミス, 覚え書き】
- 作成日: 2021-04-06
- 更新日: 2023-12-24
- カテゴリ: Docker
Dockerのイメージ全部消えた
筆者はWindowsマシンを使っているのですが、そのマシンにWindows版のDockerをインストールしました。
するとWSL2で使っていたDockerの持っているイメージがぜんぶ消えて、Windows版の方と同期するようになりました。
まさかWindows版のDockerのインストールでWSL2のDockerに影響が出るとは思わず、かなり仰天しました。
ひえーって感じです。
Windows版のDocker
Windows版のDockerは
↑からインストーラーをダウンロードできます。
これをダウンロードしてインストーラーを起動したところ、特に確認画面を確認した覚えもなくインストールが進み、結果的にWSL2のDockerのイメージがぜんぶ消えてしまいました。
うっすらと確認画面に「WSL2」の文字があったような気がするんですが、おそらく読み飛ばしてしまったんだと思います。
そもそもなぜWindows版のDockerを入れようとしたのか?
筆者はWSL2を使っていて、Dockerもインストール済みでした。
そのためDockerは普段から使っていたのですが、今回は何を思ったかWindows版のDockerをインストールしてみようということに。
WSL2版のDockerは、アドレスなどがWSL2の環境のものなので、ホストのWindows側であれやこれやしようとすると、一工夫二工夫必要だったのです。
そのため、それらが煩わしいし、Windowsに直接Docker入れちゃえばそんなことしなくてもいいかなーっと安易に考えていました。
特に深く考えもせず、もちろんWSL2のDockerに影響が出るなんてことはみじんも思わずインストールをクリック連打したわけです。
その時の私の様子はおもちゃで遊ぶ子供のようでした。
被害
被害と言うかまぁ自分の確認ミスなんですけどね。
今回の被害は開発環境で開発していたサービスの3イメージで、ちょこちょこ使っていたものでした。
それからコンテナも全部飛びました。コンテナが残っていればイメージに復元できたかもしれません。
幸い、それらの開発環境には大事なデータなどは保存しておらず、消えてしまっても何も問題のないデータでした。
しかし、環境を再構築する必要が出て時間的なコストが出てしまいました。まぁこれは仕方ないんですが。
1日1サービス復旧すると考えると3日のロスです。もっとサービスが多かったらひどかったかもしれません。
それよりもやばかったヒューマンエラー
その開発環境をWSL2で再構築していたのですが、その過程でありえないミスをしてしまいそうになりました。
具体的にはmedia
というディレクトリを削除しようとしたのですが、これを間違えて
rm -rf /media
と打ち込んでしまいroot
以下の/media
がお亡くなりになる事態がありました。
幸い/media
には大事なメディアはマウントされておらず、事なきを得ましたが、これがもし/mnt
だったらと思うと血の気が引きます。
🦝 < この打ち間違いが一番やばかったよね
🐭 < ガクブル
🦊 < ま、あるあるなミスだね
Windows版のDockerの調子
Windows版のDockerはコマンドプロンプトからもWSL2からも使えるし非常に快適です。
最初からこっちを入れておけば良かったな―と思いました。
コマンドプロンプトからコンテナを走らせれば、アドレスもそのままWindowsのものを使えますし、非常にグッド、手間が減ります。
おわりに
WSL2でDockerを使っている方、Windows版のDockerをインストールする場合は気をつけてください。
私みたいに開発環境がすべて吹っ飛ぶかもしれません。
今回は時間的なロスだけで済みましたが、本番環境だったらと思うと寝るに寝れませんね。
🦝 < 本番環境だったら成仏しなければいけなかった
🐭 < インストールを軽く見た罪