3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

最小限の持ち物で勉強できるのか?iPadで開発 《第3弾》~救世主現る~

Last updated at Posted at 2019-11-04

関連記事

最小限の持ち物で勉強できるのか?iPadで開発 《第1弾》
最小限の持ち物で勉強できるのか?iPadで開発 《第2弾》~SSHで接続~

おさらい

目的

  • 机の上には最小限のものだけで勉強する!!
  • iPad Pro でどこまで開発の勉強ができるか?

こんな人向け

  • iPad ひとつでなんでもやりたい人
  • 持ち歩くものを減らしたい人
  • PCの買い替えはもう嫌な人
  • 新しい勉強の仕方を開拓したい人

環境

  • iPad Pro 2018 11inch
  • Apple 純正 Smart Keyboard
  • モバイルルータ
  • さくらのVPS (CentOS7)

更新が遅れていた理由

簡単です。全部うまくいかなかったからです(つω-`)
でもご安心ください。iPad に救世主が現れました。

救世主とは

iPad OS です!!
さらにいうと、、、
Safari が PC版の表示 となったことです。

何がそんなにいいの

何がそんなにいいのと疑問かと思いますが、
今までですと、web ブラウザ経由で使う
Cloud9Jupyter Notebook での操作がうまくいかなかったのですがこれが改善されます!
(Smart Keyboard のカーソルの操作が効かないなど苦労しました。。。)
ということで今回は Jupyter Notebook を表示させてみたいと思います。

手順

VPSを立ち上げる

さくらのVPSコントロールパネルに入り「起動」を押す

SSH クライアントを用いてサーバーに入る

現在のおすすめ: Termius
セキュリティを考え鍵認証でのSSH接続にしたときに簡単にできました

Jupyter のイメージを取得する

Docker が入っていることの確認

$ docker --version
Docker version 1.13.1, build b2f74b2/1.13.1

イメージをダウンロード

docker pull jupyter/datascience-notebook

パスワードを作成

ハッシュを作るために仮起動(--rm つけるのでコンテナから出たら勝手に消えます)

$ docker run -it --rm  jupyter/datascience-notebook /bin/bash

jovyan@xxxxxxx のようにコンテナ内に入れたら、
コンテナ内の Python3 をお借りしてパスワードのハッシュ作成(今回は test 、お好きなもの安全なものに変えてお使いください)

$ python3 -c 'from notebook.auth import passwd;print(passwd())'
Enter password: 
Verify password: 
sha1:43dd030f7f29:bfa2d32e343582447c4ddf176911a8417bc64cc0 ←これをあとで用いる

コンテナから抜ける(Control+D でも可)

$ exit

起動!

パスワードには先ほど作成したハッシュを用います

引数の簡単な説明
-d: バックグラウンドで動かすよ
--name: コンテナ名は jupyter という名前だよ
-p: 外部からポート 8888 にアクセスされたらコンテナ内の 8888 に繋いだことになるよ
-u: root ユーザーで使うよ

$ docker run -d --name jupyter -p 8888:8888 -u root jupyter/datascience-notebook start-notebook.sh --NotebookApp.password='sha1:43dd030f7f29:bfa2d32e343582447c4ddf176911a8417bc64cc0'

一応動いてることの確認

$ docker ps
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
5f9c6b139eae        jupyter/datascience-notebook   "tini -g -- start-..."   3 seconds ago       Up 2 seconds        0.0.0.0:8888->8888/tcp   jupyter

ドキドキのブラウザからアクセス

自分のサーバーの IPアドレス:8888でアクセスすると。。。。
できました(ノ∀\*)
A5773342-7B6E-4345-A88F-671C73545C05.jpeg
パスワード test を入れると。。。。
入れました!
2DBEB3DB-6BF2-4861-8301-C8267EBC49AE.jpeg

Python 使えるかの確認
上記の矢印で示したように「New」から「Python 3」を選ぶと
C33B7395-523F-4359-AC86-742EF21EF398.jpeg

思った通りの挙動に!!!最高!!

補足) xxx.xxx.xxx.xxx:8888 で入れなかった場合

ポートが解放されてない可能性があります。

まずファイヤーウォールの設定を確認

$ sudo firewall-cmd --list-all
[sudo] password for rgoto: 
public (active)
~ 抜粋 ~
  ports: 8080/tcp 8888/tcp

ここに 8888/tcp がないと拒否されています。追加しましょう。
(docker run のポートフォワードで好きなポートを選べますので、推測されないものを使う方が安全だと思います。)

$ sudo firewall-cmd --add-port=8888/tcp --permanent

(/tcp 忘れると追加できなくて焦ります)

まとめ

やっとまともに使えるようになったと思います!
iPad の CM で少年が
「What's a computer?」
といったようにドヤれるよう試行錯誤してみます。

参考

DockerでJupyter Notebookを使う
さくらのVPSでCentOS7のポートを開放する

3
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?