2019.4

Dockerのインストールとコンテナのデプロイ

南裕樹

おことわりMechanical Dynamics Lab.

64bit のパソコンにDockerを導入する方法を紹介します
32bit パソコンへの導入は対象としていませんやること

Mechanical Dynamics Lab.

• OSのバージョンなどをしらべる• Docker をインストールする• Docker Hub から python環境のイメージをダウンロードする• イメージをもとに，コンテナを起動する• ブラウザから Jupyter Notebook にアクセスするOSバージョンをしらべる

Mechanical Dynamics Lab.

Windows の場合

スタートメニューを右クリック → システム
もしくは，コントロールパネル→システムとセキュリティ→システム
でもOK

64bit

Win 7, 8.1, 10Home
 Docker toolbox
Win 10 Pro, Enterprise, Education
 Docker for WindowsOSバージョンをしらべる

Mechanical Dynamics Lab.

Windows 7, 8.1, 10 Home の場合

スタートメニューを右クリック → タスクマネージャーCtrl+Alt+Del→ タスクマネージャー
でもOK

Windows7の場合は，直接BIOSの設定を見てもらうか，VirtualChecker
http://openlibsys.org/index-ja.htmlを使う

ここが有効になっていない
場合は，BIOSの設定で，Intel Virtualization TechnologyをEnableにしておきましょう※この表示がない場合は，とりあえず，先に進んでください．
心配な方は，BIOS設定を確認しましょう．

BIOS設定

Mechanical Dynamics Lab.

パソコンを電源を入れてすぐに，「F2」か「DEL」か「F10」を押すとBIOSの設定画面が現れる．
どのキーを押すかはメーカーごとに異なるが，F2やDELが多い，HPは．「F10」
Lenovoは，「電源＋F1」など https://support.lenovo.com/jp/ja/solutions/ht500222

Virtualization Technology の項目を見つけ， Enabled に変更する．
あとは，SaveしてExit

OSバージョンをしらべる
Mac の場合

Mechanical Dynamics Lab.

Yosemite, El Capitan, Sierra,High Sierra  Docker for Mac
Mavericks以前  Docker toolbox

準備（Windows 編）

Mechanical Dynamics Lab.

～ Windows 編～
Windows 7, 8.1, 10Home
Windows 10 Pro, Enterprise, Education (1607 Anniversary Update,Build 14393 or later) は，Docker for windows が利用できるので，そちらをインストールしましょうDocker のインストール
Docker Toolbox のページへ
https://docs.docker.com/toolbox/overview/

Mechanical Dynamics Lab.

Docker のインストール
ダウンロードしたインストーラを実行

Mechanical Dynamics Lab.

デフォルトのまま Next で進めて行くDocker のインストール
ダウンロードしたインストーラを実行

ドライバなどのインストールが求められた，インストールする

これで終了

Mechanical Dynamics Lab.

Docker のインストール
Docker Quickstart Terminal の実行

アクセス許可を求められたら，許可する

Mechanical Dynamics Lab.

デスクトップやスタートメ
ニューにショートカットが作成されているので，それを実行する

Docker のインストール

Mechanical Dynamics Lab.

ターミナル上に下記のような内容が表示されていればOK##.
## ## ##==## ## ## ## ## ===/"""""""""""""""""¥___/ ===~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~¥______ o__/¥ ¥__/¥____¥_______/

仮想マシンのアドレス（あとで使います）

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
USERname@PCname MINGW64 /c/Program Files/Docker Toolbox

ここにはユーザ名とパソコンの名前が表示されていますDocker コンテナの起動

Mechanical Dynamics Lab.

Dockerイメージのダウンロード$ docker search pyctrlと入力すると，docker hub に公開されているイメージが見つかる$ docker pull yuki373/pyctrlと入力し，イメージをダウンロードする$ docker imagesとすれば，ダウンロードされた（保存された）イメージを確認できるコンテナの起動$ docker run -p 8888:8888 --name pycont-container -it yuki373/pyctrl:latestと入力し，コンテナを起動する．name の前は，--（ハイフンハイフン）です．
pycont-container はコンテナの名前です．自分の好きな名前を付けてもらっても良いです．

Docker コンテナの起動

Mechanical Dynamics Lab.

コンテナの起動$ docker run -p 8888:8888 --name pycont-container -it yuki373/pyctrl:latestと入力し，コンテナを起動する．name の前は，--（ハイフンハイフン）です．
pycont-container はコンテナの名前です．自分の好きな名前を付けてもらっても良いです．

ローカルPCのフォルダとDockerコンテナ内の notebooks フォルダを共有するためには，$ docker run -p 8888:8888 --name pycont-container-v 【ローカルPCのフォルダの場所】:/notebooks -it yuki373/pyctrl:latestとします．

Jupyter Notebook の起動

Mechanical Dynamics Lab.

Webブラウザ（IE, firefox, chrome等）を開いて，URLのところに，http://192.168.99.100:8888/を入力する．青字は，仮想マシンのアドレスパスワードを聞かれるので，” control “ を入力する

問題なければ，jupyterが表示される

終了  再起動する方法• Webブラウザを閉じる• ターミナル上で CTRL + C再起動する場合は，• ターミナル上でMechanical Dynamics Lab.

$ docker start xxxxx
で始めた場合は$ docker stop xxxxx
で停止する

CONTAINERIDは全て打たなくても最初の数文字でよい．また，container name でもよい

$ docker start CONTAINER ID• その後，Webブラウザで，同じページにアクセス
CONTAINER ID を調べる $ docker ps –a

準備（Windows 編）

Mechanical Dynamics Lab.

～ Windows 編～
Windows 10 Pro, Enter, Edu
Windows 7, 8.1 10 Home は，Docker toolbox をインストールしますDocker のインストール

Mechanical Dynamics Lab.

Docker for Windows のページへ
https://docs.docker.com/docker-for-windows/install/

ページの中盤

download.docker.comのリンクからインストーラをダウンロードするDocker のインストール
ダウンロードしたインストーラを実行

Mechanical Dynamics Lab.

Docker のインストール

Mechanical Dynamics Lab.

Docker の実行

上記のエラーが出たら，1.Hyper-V installed and working
2.Virtualization enabledが必要です．
2.は BIOS の設定を変更しましょう．

Docker のインストール
Hyper-V のインストールと有効化

チェックは画面の通りにする．
そして，OKを押すとインストールされる．
インストール後，再起動（再ログイン）が必要となります

Mechanical Dynamics Lab.

Docker のインストール
Docker の実行
アプリケーションに追加されたDocker を実行します
エラーが出なければ，常駐します
これで準備完了です！

Mechanical Dynamics Lab.

Docker コンテナの起動

Mechanical Dynamics Lab.

Dockerイメージのダウンロード
ターミナル（Windows Power Shell かコマンドプロンプト）を起動します##スタートメニューの中にあります．スタートメニュー上で検索すればヒットしますターミナル上で$ docker search pyctrlと入力すると，docker hub に公開されているイメージが見つかる$ docker pull yuki373/pyctrlと入力し，イメージをダウンロードする$ docker imagesとすれば，ダウンロードされた（保存された）イメージを確認できる

Docker コンテナの起動

Mechanical Dynamics Lab.

コンテナの起動$ docker run -p 8888:8888 --name pycont-container -it yuki373/pyctrl:latestと入力し，コンテナを起動する．name の前は，--（ハイフンハイフン）です．
pycont-container はコンテナの名前です．自分の好きな名前を付けてもらっても良いです．

ローカルPCのフォルダとDockerコンテナ内の notebooks フォルダを共有するためには，$ docker run -p 8888:8888 --name pycont-container-v 【ローカルPCのフォルダの場所】:/notebooks -it yuki373/pyctrl:latestとします．

Jupyter Notebook の起動

Mechanical Dynamics Lab.

Webブラウザ（IE, firefox, chrome等）を開いて，URLのところに，http://localhost:8888を入力する．localhost=127.0.0.1

パスワードを聞かれるので，” control “ を入力する

問題なければ，jupyterが表示される

終了  再起動する方法• Webブラウザを閉じる• ターミナル上で CTRL + C
再起動する場合は，• ターミナル上で

Mechanical Dynamics Lab.

$ docker start xxxxx
で始めた場合は$ docker stop xxxxx
で停止する

CONTAINERIDは全て打たなくても最初の数文字でよい．また，container name でもよい

$ docker start CONTAINER ID• その後，Webブラウザで，同じページにアクセス
CONTAINER ID を調べる $ docker ps –a

準備（Mac編）

Mechanical Dynamics Lab.

～ Mac 編～
Yosemite, El Capitan, Sierra,High Sierra
Mavericks以前のOSの場合は，Docker toolbox をインストールする
詳しくは， https://docs.docker.com/toolbox/toolbox_install_mac/

Docker のインストール

Mechanical Dynamics Lab.

Docker for Mac をインストール

https://store.docker.com/editions/community/docker-ce-desktop-mac

アカウントを作ってログインします

必要事項を記入して，アカウントを作りましょうDocker のインストール

Mechanical Dynamics Lab.

Docker for Mac をインストール

https://store.docker.com/editions/community/docker-ce-desktop-mac

アカウントを作ってログインします

必要事項を記入して，アカウントを作りましょうDocker のインストール

Mechanical Dynamics Lab.

Docker for Mac をインストール
ログインして，ダウンロードする

ここからインストーラをダウンロードDocker のインストール
Docker for Mac をインストール
ダウンロードした dmg ファイルをダブルクリック
その後，ドラッグ＆ドロップでインストール

Mechanical Dynamics Lab.

Docker のインストール

Mechanical Dynamics Lab.

Docker for Mac をインストール
インストールできたら，アプリケーションから Docker を起動しましょう## Launchpadに Dockerアイコンが追加されています
パスワードを聞かれたら，教えてあげましょうDocker のインストール

Mechanical Dynamics Lab.

Docker for Mac をインストール

Docker を起動したら，タスクバーに常駐します

これで準備完了です！

Docker コンテナの起動

Mechanical Dynamics Lab.

Dockerイメージのダウンロード
Terminalを起動しましょう．
たとえば，spotlightやLaunchpadで”terminal”を検索
Terminalに$ docker search pyctrlと入力すると，docker hub に公開されているイメージが見つかる$ docker pull yuki373/pyctrlと入力し，イメージをダウンロードする$ docker imagesとすれば，ダウンロードされた（保存された）イメージを確認できる

Docker コンテナの起動

Mechanical Dynamics Lab.

コンテナの起動$ docker run -p 8888:8888 --name pycont-container -it yuki373/pyctrl:latestと入力し，コンテナを起動する．name の前は，--（ハイフンハイフン）です．
pycont-container はコンテナの名前です．自分の好きな名前を付けてもらっても良いです．

ローカルPCのフォルダとDockerコンテナ内の notebooks フォルダを共有するためには，$ docker run -p 8888:8888 --name pycont-container-v 【ローカルPCのフォルダの場所】:/notebooks -it yuki373/pyctrl:latestとします．

Jupyter Notebook の起動

Mechanical Dynamics Lab.

Webブラウザ（Safari, firefox, chrome等）を開いて，URLのところに，
http://localhost:8888を入力する．localhost=127.0.0.1
パスワードを聞かれるので，” control “ を入力する

問題なければ，jupyterが表示される

終了  再起動する方法• Webブラウザを閉じる• ターミナル上で CTRL + C
再起動する場合は，• ターミナル上で

Mechanical Dynamics Lab.

$ docker start xxxxx
で始めた場合は$ docker stop xxxxx
で停止する

CONTAINERIDは全て打たなくても最初の数文字でよい．また，container name でもよい

$ docker start CONTAINER ID• その後，Webブラウザで，同じページにアクセス
CONTAINER ID を調べる $ docker ps –a補足資料

Mechanical Dynamics Lab.

～ 補足 ～

コンテナやイメージの削除
作成したコンテナを削除したい場合• ターミナル上で$ docker stop CONTAINER ID$ docker rm CONTAINER IDCONTAINER ID を調べる $ docker ps –a

ダウンロードしたイメージを削除したい場合• ターミナル上で$ docker rmi IMAGE ID

IMAGE ID を調べる $ docker images

Mechanical Dynamics Lab.

トラブルシュート

Mechanical Dynamics Lab.

“$ docker ・・・” と入力すると怒られる＄マークは入力してはいけません
Windowsコマンドプロンプトでは，“>” マークに対応します
Docker image を pull できない場合
Proxy環境下で作業していませんか？
Proxyを使わずネットワークに接続するか，Proxy環境の設定をしましょう．
Docker for Win または，Docker for Mac の場合
タスクバーに常駐しているDockerを（右）クリックして，Setting か Preferences を選択し，Proxiesの中でプロキシを設定しましょう．

トラブルシュート

Mechanical Dynamics Lab.

Docker toolbox の場合
http://sparkling-software.club/pekublog/?p=1383

仮想マシンdefaultにプロキシ設定を記述①デスクトップ上の[Docker Quickstart Terminal]をダブルクリック②$ docker-machine ssh defaultを実行し、Docker動作環境に接続③$ sudo vi /var/lib/boot2docker/profile
を実行し、プロキシ設定として以下を記述して保存
export HTTP_PROXY=http://プロキシサーバのIP:ポート番号
export HTTPS_PROXY=$HTTP_PROXY
export NO_PROXY=localhost,127.0.0.1,192.168.99.100,.sock④$ sudo /etc /init.d/docker restartで再起動⑤$ exitでDocker動作環境から抜ける

トラブルシュート

Mechanical Dynamics Lab.

MicrosoftEdge で jupyternotebook にアクセスできない
解決策：Internet Explore や chrome などを使ってください

Docker Quickstart Terminal を起動すると，途中で止まる（２回目以降の立ち上げで失敗する場合）
解決策：管理者モードで起動してみてくださいトラブルシュート

Mechanical Dynamics Lab.

8888ポートが使われている
解決策：まず，Dockerを再起動して，コンテナを作成してみてください．うまくいかない場合は，以下の手順を実行
コンテナを$ docker run -p 9999:8888 --name pycont-container -it yuki373/pyctrol:latestのように作成し，そして， ブラウザから， http://localhost:9999 にアクセスする## 9999のところは空いているポートなら何でもよいので，## 使われていなさそうなものを設定してください

一般ユーザでも大丈夫？
解決策：インストールが失敗する場合は，管理者か管理者権限をもつアカウントでインストールしてください