設定したことを忘れないように書いてあります。
phthonを勉強しはじめたが、Windowsマシンからlinux上にコンソールでログインしていると、 グラフィカルな表示ができない。Windows上でpython環境を作るか、X-ClinentをWindows側に 用意するかすれば、良いのだろうが、いまさら感があり、jupyter notebookをサーバ上に構築することとした。
サーバ上に直接Jupyter Notebookを構築してもよかったが、せっかくDockerを作成したので、Docker上に作成することとした。 インストールは以下のコマンド一発で完了。
$ mkdir Jupyter && cd ~/Jupyter $ sudo docker run -v `pwd`:/home/jovyan/work -p 1888:8888 --name jupyter jupyter/scipy-notebook
イメージは、jupyter/scipy-notebookを指定。ローカルに無い場合は勝手にgithubから取得してくる。 今回は、
した。インストール時に、
] Jupyter Notebook 6.4.2 is running at: ] http://17888e7ab0a0:8888/?token=be59e175207c15b9c95a17791445614c75b0f1b92c22980d
と表示されるtokenをログイン時に使用するので控えておく(ただし、私の場合はこのトークンではログインできなかった)。
ログオン画面で、tokenに先程のトークンを指定すれば、ログオンできるはずだが、なぜかエラーとなった。 なので、コンテナ内に入って、トークンを確認。?token以下を入力することでログオンが可能になった。
]$ sudo docker exec -i -t jupyter cat /home/jovyan/.local/share/jupyter/runtime/nbserver-7-open.html (base) jovyan@17888e7ab0a0:~$ cat .local/share/jupyter/runtime/nbserver-7-open.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="1;url=http://0.0.0.0:8888/tree?token=987654321abcdef987654321abcdef987654321abcdef98" /> <title>Opening Jupyter Notebook</title> <script> setTimeout(function() { window.location.href = "http://0.0.0.0:8888/tree?token=987654321abcdef987654321abcdef987654321abcdef98"; }, 1000); </script> </head> <body> <p> This page should redirect you to Jupyter Notebook. If it doesn't, <a href="http://0.0.0.0:8888/tree?token=987654321abcdef987654321abcdef987654321abcdef98">click here to go to Jupyter</a>. </p> </body> </html>
昔からのページのため、WebページのコードセットがSJISのままになっている。 当初は、サーバ上のファイルをsambaでWindows上から編集していたためだ。 今どきはWindowsから編集するにしても、UTFの方が便利なので、コードセットを変更した。
まずは、Webページのコンテンツの文字コードをnkfで変更する。ついでにLオプションで改行コードもLFに変更。
find . -type f -name "*.html" -print0 | xargs -0 nkf --overwrite -w -Lu
次に、htmlヘッダのコンテンツタイプも、sedでShift_JISからutf-8に変更した。
find . -type f -name "*.html" -print0 | xargs -0 sed -i -e "s/Shift_JIS/utf-8/"
依存関係がおかしくなっており、毎回--nobestオプションを付ける必要があったので修正した。
dockerのリポジトリを更新する
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo $ sudo dnf repolist repo id repo name appstream CentOS Linux 8 - AppStream baseos CentOS Linux 8 - BaseOS docker-ce-stable Docker CE Stable - x86_64 epel Extra Packages for Enterprise Linux 8 - x86_64 epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 extras CentOS Linux 8 - Extras $
sudo rpm -e docker-ce podman podman-catatonit buildah containerd.io
再インストールにより、dockerが「停止/自動起動しない」状態になったので再度設定。
$systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: https://docs.docker.com : : $ sudo systemctl start docker.service $ systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2021-04-29 09:57:40 JST; 19s ago Docs: https://docs.docker.com Main PID: 3002904 (dockerd) Tasks: 27 Memory: 51.1M CGroup: /system.slice/docker.service ├─3002904 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ├─3003055 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 1880 -container-ip 172.17.0.2 -contai> └─3003061 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 1880 -container-ip 172.17.0.2 -container-p> $ sudo systemctl enable docker.service Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
smokepingを入れて、ネットワーク状態を監視して見ようと思いたった。 普通のパッケージで入れようと当初は考えたが、勉強がてら、dockerのsmokepingを入れて見ることとした。
dockerのリポジトリを追加する
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo $ sudo dnf repolist repo id repo name AppStream CentOS-8 - AppStream BaseOS CentOS-8 - Base docker-ce-stable Docker CE Stable - x86_64 epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 extras CentOS-8 - Extras $
$ sudo dnf -y --nobest install docker-ce docker-ce-cli containerd.io Last metadata expiration check: 1:17:27 ago on Sun 06 Sep 2020 10:08:20 AM JST. Dependencies resolved. Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed - cannot install the best candidate for the job - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering - package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering ======================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================== Installing: containerd.io x86_64 1.2.0-3.el7 docker-ce-stable 22 M docker-ce x86_64 3:18.09.1-3.el7 docker-ce-stable 19 M docker-ce-cli x86_64 1:19.03.12-3.el7 docker-ce-stable 38 M Skipping packages with broken dependencies: docker-ce x86_64 3:19.03.12-3.el7 docker-ce-stable 24 M Transaction Summary ======================================================================================================================== Install 3 Packages Skip 1 Package Total download size: 79 M Installed size: 330 M Downloading Packages: (1/3): containerd.io-1.2.0-3.el7.x86_64.rpm 26 MB/s | 22 MB 00:00 (2/3): docker-ce-18.09.1-3.el7.x86_64.rpm 20 MB/s | 19 MB 00:00 (3/3): docker-ce-cli-19.03.12-3.el7.x86_64.rpm 36 MB/s | 38 MB 00:01 ------------------------------------------------------------------------------------------------------------------------ Total 73 MB/s | 79 MB 00:01 warning: /var/cache/dnf/docker-ce-stable-091d8a9c23201250/packages/containerd.io-1.2.0-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY Docker CE Stable - x86_64 48 kB/s | 1.6 kB 00:00 Importing GPG key 0x621E9F35: Userid : "Docker Release (CE rpm) " Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 From : https://download.docker.com/linux/centos/gpg Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : docker-ce-cli-1:19.03.12-3.el7.x86_64 1/3 Running scriptlet: docker-ce-cli-1:19.03.12-3.el7.x86_64 1/3 Installing : containerd.io-1.2.0-3.el7.x86_64 2/3 Running scriptlet: containerd.io-1.2.0-3.el7.x86_64 2/3 Running scriptlet: docker-ce-3:18.09.1-3.el7.x86_64 3/3 Installing : docker-ce-3:18.09.1-3.el7.x86_64 3/3 Running scriptlet: docker-ce-3:18.09.1-3.el7.x86_64 3/3 Verifying : containerd.io-1.2.0-3.el7.x86_64 1/3 Verifying : docker-ce-3:18.09.1-3.el7.x86_64 2/3 Verifying : docker-ce-cli-1:19.03.12-3.el7.x86_64 3/3 Installed products updated. Installed: containerd.io-1.2.0-3.el7.x86_64 docker-ce-3:18.09.1-3.el7.x86_64 docker-ce-cli-1:19.03.12-3.el7.x86_64 Skipped: docker-ce-3:19.03.12-3.el7.x86_64 Complete! $
dockerの起動と、自動起動の設定を行う。
$ sudo systemctl start docker $ sudo systemctl enable docker Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service. $