1️⃣

docker accident memo

2025/02/20に公開

docker memo

.bashrc から該当部分を一度コメントアウトし、手動で sudo service docker start が動くかどうか確認

  • WSL がフリーズ状態にある場合や、現在のセッションをクリアしておきたい場合は、一度以下のコマンドで WSL を完全に停止させます。
wsl --shutdow
  • WSL(Ubuntu) に入る

    • もし .bashrc の内容でフリーズしてしまう場合、以下のようにして最小限のシェルで入る手段
    # フリーズする場合はこちら:
    wsl -d Ubuntu -- bash --noprofile --norc
    
    # rootで入るなら
    wsl -d Ubuntu -u root -- bash --noprofile --norc
    
    • もし普通に wsl や「Ubuntu アイコン」をクリックして正常にログインできるなら、このステップは不要
  • 該当ユーザーのホームディレクトリへ移動

  • .bashrc を編集

    • vi .bashrc
  • 対象の行を消して保存

  • vi では

    • Esc キーを押す
    • :wq → Enter
  • 修正内容を反映させる

    • source ~/.bashrc
    • wsl --shutdown後に再度立ち上げる
  • 確認

    • sudo service docker start
    • service docker status
  • もしここでも固まる / 起動しない場合
    .bashrc の記述以前に、service docker start そのものが問題を抱えている可能性があります。
    Docker のインストールや systemd の有効化状況などを再確認してみてください。

WSL の systemd を有効化して systemctl enable docker する手順に切り替える

systemd 有効化 ( /etc/wsl.conf で systemd=true ) を行う

sudoersの設定が原因

  • rootで入る
wsl -d Ubuntu -u root -- bash --noprofile --norc
  • visudo
    • 対象行の削除、保存
  • 再起動
    • exit
    • wsl --shutdown

どうしても直らない場合はバックアップを取り、ディストロを再インストールする手もあります

  • 保存しておく
    • Windows から \wsl$\Ubuntu\home<ユーザー名> 配下をコピー
  • 削除
    • wsl --unregister Ubuntu
  • 再インストール

Discussion