ユーニックス総合研究所

  • home
  • archives
  • docker-install-happening

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をインストールする場合は気をつけてください。
私みたいに開発環境がすべて吹っ飛ぶかもしれません。
今回は時間的なロスだけで済みましたが、本番環境だったらと思うと寝るに寝れませんね。

🦝 < 本番環境だったら成仏しなければいけなかった

🐭 < インストールを軽く見た罪