Windows10+VirtualBox+CentOS8+Docker+AMI(AWS EC2)+jupyterhub環境構築手順

公開:2021/01/09
更新:2021/01/10
2 min読了の目安(約2400字TECH技術記事

やりたいこと

  • AMI(AWS EC2)のイメージをローカルPCのDockerで立ち上げてjupyterhubを起動したい。

Docker環境

  • Windows10+VirtualBox+CentOS8+Docker

前提

  • CentOS8のインストールまで完了していること。
  • root権限でSSH接続できること。

Dockerインストール

root権限で実行してください。

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y

Docker起動

systemctl start docker
systemctl enable docker

AMIの入手


を参照。下記コマンドで入手できる。
docker pull amazonlinux

イメージを確認

docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
amazonlinux   latest    9917dfe117ca   2 weeks ago   163MB

コンテナ起動

docker run -m 2048m -p 80:80 -p 8000:8000 -p 443:443 -d --privileged -h yamato.host -i -t -v /root/share:/share:rw --name yamato_ami 9917dfe117ca
  • -p 8000:8000 のところは、jupyterhubのポート番号を指定してください。jupyterhubのデフォルトのポート番号は8000です。
  • -v /root/share:/share:rw はホストOS(CentOS8)とコンテナ(AMI)間での共有フォルダ指定です。必要に応じて任意の場所を指定してください。/root/shareがホスト側のディレクトリ、/shareがコンテナ側のディレクトリです。
  • 9917dfe117caはAMIのイメージIDです。docker imagesの表示結果を確認してから入力してください。

コンテナに入る

docker exec -it yamato_ami /bin/bash

以下はコンテナに入ってからの作業です。

OS確認

cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Amazon Linux 2"

アップデートと各種コマンド、ツールのインストール

yum update -y
yum install -y shadow-utils
yum install -y passwd
yum install -y util-linux
yum install -y wget
yum -y install vim-enhanced

ユーザ作成

adduser yamato
passwd yamato

python環境のインストール

su yamato
cd /home/yamato/
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
sh Anaconda3-2020.11-Linux-x86_64.sh
source .bashrc

jupyterhubのインストール

conda install -c conda-forge jupyterhub
cd /home/yamato/anaconda3/
jupyterhub --generate-config
vi jupyterhub_config.py

下記を編集する。

編集前

c.Spawner.default_url = ''

編集後

c.Spawner.default_url = '/lab'

jupyterhub起動時のポートを変更する場合は下記。

# c.JupyterHub.port = 8000
c.JupyterHub.port = 8080

jupyterhub起動

jupyterhub

でWebサーバが起動する。

あとは、ブラウザから

http://192.168.1.xx:80xx

でアクセスして、jupyterhubのログイン画面が表示されたらOK。
先ほど作成したユーザ yamato でログインできる。