K.MIURA@OUC

The special secret of making dreams come true can be summarized in four C’s. They are Curiosity, Confidence, Courage, and Constancy. –Walt Disney

Docker上でJupyterを展開する

[基本環境]
  • Debian 10.3.0 (amd64)
  • Docker 19.03.8
[参考サイト]
[注意]
  • Docker環境の構築や他のサイトを読んで、Docker環境を構築していること
  • 本記事は、Jupyter NotebookをWEBブラウザで確認するまでの手続きである
[Dockerコンテナの展開]
  1. docker pull debian:stable
  2. docker run -itd --privileged -p 8888:8888/tcp -p 8888:8888/udp --name jupyter debian:stable
  3. docker exec -it jupyter /bin/bash
[コンテナ(jupyter)内での手続き]
  1. apt update
  2. apt upgrade
  3. apt install git
  4. apt install curl
  5. apt install bzip2
  6. apt install vim
  7. git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  8. echo ’export PYENV_ROOT="${HOME}/.pyenv"’ » ~/.bash_profile
  9. echo ’export PATH="${PYENV_ROOT}/bin:$PATH"’ » ~/.bash_profile
  10. echo ’export PATH="${PYENV_ROOT}/shims:$PATH"’ » ~/.bash_profile
  11. echo ’eval “$(pyenv init -)”’ » ~/.bash_profile
  12. source ~/.bash_profile
  13. pyenv install anaconda3-5.3.1
  14. echo ’export PATH="$PYENV_ROOT/versions/anaconda3-5.3.1/bin:$PATH"’ » ~/.bash_profile
  15. source ~/.bash_profile
  16. pyenv versions
    • anacondaのインストールを確認する
  17. pyenv global anaconda3-5.3.1
  18. ipython3
    • In [1]: from IPython.lib import passwd
    • In [2]: passwd()
      • Jupyter Notebookを開くときのパスワードを設定する
    • Out[2]: ‘sha1:xxxxxxxxx’ これをメモしておく
    • In[3]: quit()
  19. jupyter-notebook --generate-config
  20. vi ~/.jupyter/jupyter_notebook_config.py
    • 先頭(本当はどこでも良い)に以下の内容を追加する
      c.IPKernelApp.pylab = ‘inline’
      c.NotebookApp.ip = ‘*’
      c.NotebookApp.open_browser = False
      c.NotebookApp.port = 8888
      c.NotebookApp.password = u’sha1:xxxxxxxxx’ メモしたやつ
[Jupyter Notebookの起動]
  1. mkdir workspace ホームディレクトリで実行する
  2. cd workspace
  3. jupyter-notebook --allow-root
    • WEBブラウザで http://IPアドレス:8888/ にアクセスする
    • パスワードには上の passwd() で設定したものを記述する
    • 停止するときはControl + Zを押す
    • プロセスが生きていたらkillで強制終了する
[おまけ:コンテナ起動時にJupyter Notebookを一緒に起動する]
  • シェルスクリプトを仕込む (コンテナ内で実行する)
    1. vi /etc/rc.local
      • 以下の内容を記述する
        #!/bin/bash
        /etc/init.d/jupyter.sh
    2. chmod 755 /etc/rc.local
    3. vi /etc/init.d/jupyter.sh
      • 以下の内容を記述する
        #!/bin/bash
        . ~/.bash_profile
        cd /workspace
        sleep 3;jupyter-notebook --allow-root
    4. chmod 755 /etc/init.d/jupyter.sh
    5. exit コンテナ(jupyter)から一度出る
  • コンテナ(jupyter)を起動する
    1. docker restart jupyter
    2. docker exec jupyter /etc/rc.local

Share