Help us understand the problem. What is going on with this article?

GCP上のDockerでJupyterを使う際に繰り返し使用するコマンドのメモ

Google Cloud Platform(以下GCP)やDocker初心者の私ですが、機械学習のために「GCPとDockerでKaggle用計算環境構築 - Qiita」に沿ってがんばって環境構築をしました。

本記事は、環境構築後に「GCP上のDockerでJupyterを使う」際に繰り返し使用するコマンドのメモです。一連の流れに沿って記載しています。
主に自分用ですが、あると便利なコマンド一覧です。

※以下、一通りの環境とCloud SDKは「GCPとDockerでKaggle用計算環境構築 - Qiita」に沿って設定済みとします。

1. GCPのインスタンスを起動

コマンドプロンプト
gcloud compute instances start {インスタンス名}

※インスタンス名を忘れた場合:インスタンスを確認

コマンドプロンプト
gcloud compute instances list

2. インスタンスへ接続

コマンドプロンプト
gcloud compute ssh --zone {ゾーン名} {インスタンス名}

3. Dockerコンテナを起動

GCPインスタンス内
docker start {コンテナ名}

※コンテナ名を忘れた場合:Dockerコンテナ名を確認

GCPインスタンス内
docker ps -a

4. Dockerコンテナにインタラクティブモードで接続

GCPインスタンス内
docker exec -it {コンテナ名} bash

5. Jupyterを起動

Docker内
jupyter notebook --ip=0.0.0.0 --allow-root
コマンドプロンプト
gcloud compute ssh {インスタンス名} -- -N -L 28888:localhost:8888

その後、ブラウザ上でlocalhost:28888へアクセス

※GCPは頻繁に接続が切れるみたいですが、その場合も

コマンドプロンプト
gcloud compute ssh {インスタンス名} -- -N -L 28888:localhost:8888

を実行し直すだけで、ブラウザ上に残っているJupyter Notebookを再接続できます。

6. 使用後のシャットダウン関連

Jupyterをシャットダウン

JupyterサーバでCtrl + c

Dockerコンテナ内からインスタンス内に戻る

Docker内でCtrl + p + q

Dockerコンテナをシャットダウン

GCPインスタンス内
docker stop {コンテナ名}

インスタンスを停止

コマンドプロンプト
gcloud compute instances stop {インスタンス名}

停止しているかどうか確認

コマンドプロンプト
gcloud compute instances list

(おまけ)インスタンスとのファイルのやり取り

  • Jupyter Notebookからファイルをアップロード・ダウンロード可能
  • WebのGCPからインスタンスにssh接続したらsshウィンドウからファイルのアップロード・ダウンロードが可能?

あとがき

コマンドがなかなか覚えられないので、困ったときにはこの記事を片手にGCPとDockerを使おうと思います。

なんとなくではありますが、GCP上でJupyterを使えるようになりました。
しかしこのままではつまづきへの対処など、応用が効きません。
dockerの本を読んで体系的に学んでいく所存です。

その他困りごと

  • ポートのいじり方が分からないので、前に起動したJupyterの関係などで8888ポートが使えなくなった際にはdockerコンテナを一旦停止・再起動しています。

  • Dockerでのマウントの再設定方法が分からなくて困っています(docker runすると新しいコンテナが作成されてしまう?)。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした