研究について
学習者がプログラミングを学ぶ場合、実行環境の準備に手間がかかる。そこで、簡単に利用できるブラウザでプログラムを実行できる環境を開発を行う。また、プログラムを実行する仮想環境としてDocker を利用する。これによりプログラムを隔離した状況で実行することができ、Docker イメージを利用したカスタマイズを教育者が簡単に行える。
システム実行ページ
本システムを利用するには2通りの方法がある、詳しくは別タブの「本システムを利用するために」を見てください。
香川研究室 仁科
学習者がプログラミングを学ぶ場合、実行環境の準備に手間がかかる。そこで、簡単に利用できるブラウザでプログラムを実行できる環境を開発を行う。また、プログラムを実行する仮想環境としてDocker を利用する。これによりプログラムを隔離した状況で実行することができ、Docker イメージを利用したカスタマイズを教育者が簡単に行える。
本システムを利用するには2通りの方法がある、詳しくは別タブの「本システムを利用するために」を見てください。
※編集中
1つのサーバ(ハードウェア)に1つのOS(環境)から仮想化により1つのサーバで複数のOSを利用できるように仮想化ソフトウェアが1つのサーバ内に複数のOSを仮想的に作成し管理する
物理的サーバの削減
サーバの集約・リソースの有効活用
移植性の高さ
ホスト型仮想化
ハイパーバイザー型仮想化
コンテナ型仮想化 (Dockerはコンテナ型仮想化)
ホスト型はホストOSに仮想化を行うソフトウェアをインストールし、そのうえで仮想マシンを動かす
https://thinkit.co.jp/story/2012/10/17/3722より引用ハイパーバイザ型はホストOSを使わず、直接ハードウェアにインストールして仮想化を行う
コンテナという単位で論理的な区画を作り仮想環境を管理する
コンテナはアプリなどを実行するためのインフラ環境を管理 イメージはコンテナのひな形 イメージからコンテナを作成し動かす コンテナの内容をイメージにすることも可能 Docker Hub(https://hub.docker.com/)にはオフィシャルイメージが登録されておりダウンロードすることで簡単に利用可能
Dockerを導入するための方法を以下の2通り説明する。
(1) Windows Subsystem for Linux でDockerを動かす場合
(2) Docker toolbox を利用しVirtualBoxでDockerを動かす場合
環境としてOSはWindows10を想定している。(1)の場合はWindows10のバージョンが最新の1809(2019/03/03現在)でないと、相性が悪くDockerが動作しないので注意。
Windowsのバージョン確認は、画面左下スタートボタンを右クリック -> システム -> バージョン情報 で確認できます。
スクリーンショットを交えて説明する、導入にあたって以下のWebページを参考にした。
・Windows Subsystem for Linux(Hyper-Vなし)でDockerを動かす
・どうしても Docker on Ubuntu 18.04 on WSL したかった
まずUbuntuのインストールを行います、Microsoft Storeで検索するとUbuntu 16.04 とUbuntu 18.04 がありますが、今回はUbuntu18.04を利用します。
つぎにUbuntuを起動しますが、このとき必ず管理者として実行するよう注意してください。
また、初回起動時にはユーザネームとパスワードを設定する必要があるので、適当に設定してください。
それが終わったら以下のコマンドを実行してdockerをインストールし、環境を構築します。
ここまでできたら一度Ubuntuを再起動すれば、本システムを利用するためのDockerの導入は終了です。
別タブ「本システムを利用するために」の (1) Dockerをクライアント側(ローカル)で動かす場合 に進んでください。
DockerHPよりDockerToolboxをダウンロード
OS が Windows10 pro の場合 Docker for Windows を利用可能 今回はwindows8 やwindows10 で利用可能なDockerToolbox で説明
ダウンロードしたファイルを実行し、インストールを行う。基本的にすべてnextを押していけばよい
すでにVirtualBoxやGit for Windowsをインストールしているならチェックを外す
インストールが終わったらデスクトップ上にアイコンができているはずなので実行 実行するとくじらの絵が出てくる、ただし初回の起動では少し時間がかかる
➡docker versionを実行することで現在のバージョンを確認できる 下の画像のように表示されればインストールできている
いくつかのDockerコマンドを使用した例を紹介する
まずコンテナ作成に必要なイメージをダウンロードする
今回はhaskellとgccを例にあげる
画像のようにダウンロードがはじまる(gccも同様)
Ctrl p+q でコンテナからデタッチ(コンテナは起動したまま)
まずgccコンテナを起動し、Ctrl p+q でデタッチ
コピーしたファイルがあることを確認し、gccコマンドで実行
本システムを利用するための事前準備と手順を説明する。
本システムを利用するにあたって、以下の2通りの方法がある。
(1) Dockerをクライアント側(ローカル)で動かす場合
(2) Dockerをサーバで動かす場合
クライアント側でDockerを動かすため、本システムを利用する端末にDockerが利用できる環境が必要になる。
Dockerを導入していない人は先に別タブの「Docker導入方法」を見てください。
(1-1) Windows Subsystem for Linux でDockerを動かす場合
(1-2) Docker toolbox を利用する場合
で操作が異なりますが、先に共通の準備を説明します。
事前準備として、DockerとWebブラウザ間の中継サーバ用のプログラムをまとめたjarファイルを以下からダウンロードしてください。
中継サーバ用プログラム(クリックでjarファイルをダウンロードします)システムを利用する前にダウンロードしたjarファイルを実行します。
ファイルを適当な場所に保存し、コマンドプロンプトから以下のコマンドで実行できます。
この実行した状態で本システムを利用することができます。また、停止するときはCtrl+Cで行えます。
UbuntuでDockerを動かす場合で説明します。まずUbuntuを管理者として実行し起動します。
起動後以下のコマンドを実行します。
上記のコマンドを実行し、共通準備である中継サーバ用プログラムを実行した状態で本システムを利用することができます。
また、本システムの利用が終了した後は以下のコマンドでDockerを停止させてください。でないと再度利用するときにエラーが発生する可能性があります。
システムを利用するときは以下のコマンドを実行しておきます。
本システムの利用が終了した後は動かしたDockerコンテナを停止・削除しておきます。
別タブの「Docker導入方法」のコンテナの停止と削除の例を参考にしてください。
サーバにあるDockerを利用するため、DockerをPCに導入していなくてもシステムを実行できます。
↓システム実行ページ