スポンサーリンク

リモートのDocker上のjupyter にポートフォワーディング

IT
この記事を読めばわかること
  • EC2上にsshでmacのターミナルからログイン
  • EC2にDockerをインストール
  • Dockerコンテナの立ち上げ
  • Macでポートフォワーディングしてlocalhostでjupyterlabを繋ぐ方法
スポンサーリンク

環境

こんにちはえびてんです。データ分析やAI開発でよく使われるjupyterlab。今流行のAWS上でDockerを使って環境構築して開発することも多いですよね。さくっとDockerを使って分析環境を構築してみます。

分析環境は以下で行なっております。

  • EC2 – amazonlinux2
  • ローカル – mac Catalina(10.15.7)
スポンサーリンク

リモート環境のEC2にSSHで入る

EC2を作成したときのkeyを使用して、EC2インスタンスに入ります。

また、AWSコンソールでパブリック IPv4 アドレスを確認しましょう。

ssh ec2-user@[public ip]  -i  your_key_name.pem 
スポンサーリンク

EC2(amazon linux2)にDockerをinstallする

dockerをinstallします。

sudo yum install -y docker 
sudo systemctl start docker
sudo usermod -a -G docker ec2-user

dockerの自動起動設定

sudo systemctl enable docker
exit

いったん、exitしてもう一度ec2にsshで入り直しましょう。

docker version

で表示されれば問題ないです。

スポンサーリンク

Dockerコンテナの立ち上げ

Dockerのベースイメージはなんでも良いのですが、今回はこちらのpythonを使用します。

Docker Hub

まずはimageをpullします。

docker pull python

doker runして、コンテナを起動してコンテナ内に入ります。

docker run -p 8888:8888 -it python /bin/bash

2回目以降は、

# コンテナidの確認
docker ps -a 
docker start [コンテナid]
docker exec -it [コンテナid] bash

でコンテナに入ることができます。

jupyter labの起動

jupyter labをinstallして、起動します。

#コンテナ内
pip install jupyterlab
jupyter-lab --no-browser --port=8888 --ip=0.0.0.0 --allow-root --NotebookApp.token=''

ポートフォワーディング

ローカルのmacのターミナルで、

ssh -i ~/.ssh/your-key-name.pem -L 8888:localhost:8888 ec2-user@[public-ip]

これでブラウザでlocalhost:8888でjupyter labに接続できます。

コメント

タイトルとURLをコピーしました