Troubleshooting Report

Docker / JupyterLab 接続不能
トラブルシューティング記録

Linux Mint 22  |  Vostro 5320  |  2026-03-23
Docker Engine jupyter/base-notebook docker0 ブリッジ IP喪失 解決済み
根本原因
Root Cause

Dockerプラグイン導入後の再起動で docker0 ブリッジのIPアドレスが消失

Linux Mint 22 のアップデートマネージャーからDockerプラグインを導入・再起動後、 docker0 インターフェースが 172.17.0.1/16 を失い、 ホスト↔コンテナ間のL3経路が完全に切断された。
iptablesのNAT・FORWARDルールは正常に存在していたが、 ブリッジ自体にIPがないため通信が成立しなかった。

診断タイムライン
① docker ps — コンテナは正常稼働
ポートマッピング 0.0.0.0:8888→8888/tcp も確認済み
PORTS: 0.0.0.0:8888->8888/tcp, [::]:8888->8888/tcp STATUS: Up 51 minutes (healthy)
② ブラウザからアクセス → 無反応
トークン付きURLを入力してもブラウザが全く反応しない
③ ss -tlnp — ポート8888はLISTEN中
docker-proxyがポートを掴んでいることを確認
LISTEN 0.0.0.0:8888 users:(("docker-proxy",pid=2276))
④ curl -v — TCP接続はできるが応答なし
Connected は成功するが HTTPレスポンスが返らない → フォワード不全を疑う
* Connected to 127.0.0.1 port 8888 > GET / HTTP/1.1 ← ここで止まる(応答なし)
⑤ iptables 確認 — NATルールは正常
DNAT・FORWARD・ACCEPT すべて存在。iptables自体は問題なし
DNAT tcp dpt:8888 to:172.17.0.2:8888 ACCEPT tcp -- 0.0.0.0/0 172.17.0.2 dpt:8888
⑥ ip addr show docker0 — IPアドレスなし ← 原因確定
通常は inet 172.17.0.1/16 が存在するはずが消失していた
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 link/ether fe:a3:77:94:ef:6a ← inet がない!
⑦ コンテナIP直接アクセスも無反応
curl -I http://172.17.0.2:8888 も反応なし → L3経路完全切断を確認
⑧ docker restart → HTTP 405 応答 → 解決
コンテナ再起動でdocker0が再初期化され通信復旧
HTTP/1.1 405 Method Not Allowed ← Jupyterが正常応答! # 405はHEADリクエスト非許可なだけ。正常の証拠。
各チェック結果まとめ
確認項目 結果 判定
コンテナ稼働 (docker ps)Up / healthy正常
ポートマッピング (docker port)0.0.0.0:8888→8888正常
Jupyterログエラーなし・トークンURL出力済み正常
ポートLISTEN (ss -tlnp)docker-proxy が 8888 を保持正常
TCP接続 (curl -v)Connected 成功・HTTPレスポンスなし部分的
iptables NATルールDNAT・ACCEPT 存在正常
iptables FORWARDDOCKER-FORWARD チェーン存在正常
docker0 IPアドレスinet なし(172.17.0.1/16 消失)異常 ← 原因
コンテナIP直接疎通172.17.0.2:8888 → 無反応異常
解決手順

docker restart でdocker0を再初期化

docker restart jupyter-lab && sleep 5 && curl -I http://127.0.0.1:8888 # 結果 HTTP/1.1 405 Method Not Allowed ← 接続成功

コンテナ再起動によりDockerがdocker0ブリッジを再初期化し、 172.17.0.1/16 が再付与されてL3経路が復旧した。

再発防止策

⚠ 次回再起動後に繋がらない場合

1
まず docker restart jupyter-lab を試す(最短復旧)
2
それでも駄目なら sudo systemctl restart dockerdocker restart jupyter-lab
3
根本対策:Dockerをネットワーク完全起動後に起動させる
sudo systemctl edit docker に以下を追記:
[Unit] After=network-online.target Wants=network-online.target
4
イーサネット接続不能も同一原因の可能性あり。
再起動後のネットワーク不安定が続く場合はDockerプラグイン(Docker Desktop)の
アンインストールとDocker Engine単独での再インストールを検討。