Docker上JupyterLabのログインURL確認手順

投稿者: | 2025-08-14
概要
  • docker ps で対象コンテナ名/IDを確認
  • docker logs <NAME> | grep -m 1 token= でURL取得
  • ブラウザで http://localhost:8888/lab?token=<TOKEN> を開く

1) 前提

  • Linuxホスト上でDockerコンテナ内にJupyterLabが起動済み
  • ポート公開例:-p 8888:8888

2) コンテナ特定(ホストOSで実行)

docker ps

例(NAMESjupyter-lab):

CONTAINER ID   IMAGE                   COMMAND                  CREATED        STATUS      PORTS                               NAMES
<CONTAINER_ID> jupyter/base-notebook   "tini -g -- start-no…"   <AGE>         Up <TIME>  0.0.0.0:8888->8888/tcp              jupyter-lab

3) 起動ログからログインURL/トークン取得

docker logs jupyter-lab 2>&1 | grep -m 1 token=
# or
docker logs <CONTAINER_ID> 2>&1 | grep -m 1 token=

出力例(トークンは一例):

[I ... ServerApp] http://127.0.0.1:8888/lab?token=<TOKEN>

4) ブラウザでアクセス

  • ホストPCからhttp://localhost:8888/lab?token=<TOKEN>
  • 別PCからhttp://<HOST-IP>:8888/lab?token=<TOKEN>

ログイン画面が出ている場合は、トークン値(<TOKEN>)だけをフォームに貼り付けても可。

5) コンテナ内から確認(任意)

コンテナに入っている場合(例:docker exec -it jupyter-lab bash):

jupyter server list

出力例:

Currently running servers:
http://localhost:8888/?token=<TOKEN> :: /home/jovyan

6) 毎回トークンを探さない設定(任意)

固定パスワードを設定
# コンテナ内で実行
jupyter server password
# 案内に従い「現在のトークン」→「新パスワード」を入力

以後は http://localhost:8888/lab を開き、設定したパスワードでログイン。

環境変数による制御(イメージ依存)
# 例:docker run 時に設定(Notebook系公式イメージなど)
-e JUPYTER_TOKEN=            # 空にするとトークン無効(パスワード必須)
# or
-e JUPYTER_PASSWORD=<plain>  # イメージにより可否が異なる(各イメージのドキュメント参照)

環境変数の対応はベースイメージごとに異なります。必ず各イメージのドキュメントを確認してください。

7) 典型的トラブルと対処

  • 外部PCから 127.0.0.1 で入れない:外部PCは <HOST-IP> を使用。-p 8888:8888 を確認。
  • トークン不一致:最新の docker logs ... | grep token= で再取得(再起動でトークンが変わることがあります)。
  • 「Currently running servers:」の下が空:Jupyter未起動/別ユーザーで起動の可能性。docker psdocker logs を再確認。
  • VPN経由でアクセス不可:地域制御でブロックされる場合あり。VPNをオフにするか出口地域を変更。

この文書は一般的な手順を記載した公開用ガイドです。具体的なIP・トークン・パスワードなどの機微情報は記載しないでください。