前回はEC2インスタンスを作成し、Dockerをインストールしました。
今回はJupyter NotebookをDocker上で動かし、
EC2インスタンスのネットワーク設定をいじることで
外部からJupyter Notebookへアクセスできるようにします。
Jupyter NotebookのDockerイメージ取得・起動
まずはJupyter NotebookのDockerイメージを取得します。
docker pull jupyter/datascience-notebook
Jupyter Notebookのイメージ取得ができたことを確認します。
docker images jupyter/datascience-notebook REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE jupyter/datascience-notebook latest 91f5bc10a994 36 hours ago 6.828 GB
イメージの取得ができたら、あとはDockerイメージを起動します。
docker run -it --name notebook -p 80:8888 jupyter/datascience-notebook
上記コマンドを実行するとJupyter Notebookにアクセスするための
トークンが標準出力されますので、それを使ってアクセスします。
その後は”Ctrl-p -> Ctrl-q”でイメージ内からログアウトし、
ターミナル等を閉じても稼働し続けるようにします。
EC2インスタンスのNW設定
次にEC2インスタンスのネットワーク設定を下記の手順で行います。
- サイドメニューの「セキュリティグループ」を押下
- Jupyter Notebookが稼働しているEC2インスタンスの
セキュリティグループを選択 - 下ウィンドウの「インバウンド」タブを選択
- 編集ボタンを押下
- 「インバウンドルールの編集」画面で「ルールの追加」を押下
- 以下の入力内容でルールを追加
- タイプ|HTTP
- プロトコル|TCP
- ポート範囲|80
- 送信元|カスタム、0.0.0.0/0
- 「保存」ボタンを押下
以上の設定をすると、EC2インスタンスのグローバルIPを指定すれば
任意のIPからJupyter Notebookにアクセスできます。
これで家からはもちろん、出先や会社からでも
手軽にデータ分析ができますね!