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コンテナを起動

docker start {コンテナ名}

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

docker ps -a

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

docker exec -it {コンテナ名} bash

5. Jupyterを起動

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コンテナをシャットダウン

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すると新しいコンテナが作成されてしまう?)。

参考

    • GCPとDockerでKaggle用計算環境構築 – Qiita

 

    • GCPのComputeEngineインスタンスをコマンドで作成、停止、再開、破棄してみる – Qiita

 

    • Dockerコマンドメモ – Qiita

 

    Dockerコンテナの起動と停止、接続と抜け方を知ろう~attach/start/exitコマンド~ | GMOクラウドアカデミー
广告
将在 10 秒后关闭
bannerAds