• 検索結果がありません。

情報システム論

N/A
N/A
Protected

Academic year: 2021

シェア "情報システム論"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

情報システム論

2021/6/24

海谷 治彦

(2)

目次

• 仮想化技術2 docker • 概要 Image と Container • インストールと基本的な使い方 • ネットワークとポートフォワード • 複数コンテナの連携 • コンテナとホストの間のファイル共有 • コンテナのデータ化,イメージ経由 • バッチ処理的なアプリ 2

(3)

仮想化技術

• PCやネットワークの「ふり」をするソフトを利用して, その中にOSやネットを構築する技術. • OS側等からは,単なるハード(PC等)に見えている. • 実体はソフトなので以下が可能. • 柔軟性: 設定一つでメモリやストレージ,コア数等を変更. • 同様に設定だけでネット構成も変更. • 可搬性: 同じOSのコピーや復旧も安易に構築可能. • ただし,この仮想化ソフトを動かすためのシステム (OSとハード)は,それなりに強力である必要アリ. • 実働に耐えうる仮想環境構築のためには. • 授業のデモや演習程度ならノートPCでもOK 3 復習

(4)

サーバー仮想化技術の分類

• サーバーというかOSと考えてよい. ホストOS型

• ハードの上に普通のOSを載せ,そのOSのアプリとして, 仮想OSを稼働する.

• VirtualBox, VMware, Hyper-V 等

ハイパーバイザー型 • ハードの上にUI等の無い小さな(仮想化専用の)OSを 動作させ,その上で,仮想OSを動作させる. • Hyper-V, Xen, KVN コンテナ型 • ハードの上に普通のOSを載せ,そのOS中の,特定の アプリを,他のアプリから隔離して,サービスを提供. • Docker, LXC 4 復習

(5)

Docker

• コンテナ型仮想化の代表格. • 独自のUIを持たないアプリのプロセス群を可搬に する. • 動作中のアプリをデータとして,保存,読み込みできる. • よって,あるマシンから他のマシンへと簡単にアプリを 移動やコピーできる. • インストールの手間が楽. • サービスの多重化を簡単に実現できる.

• Linuxのみで稼働するので,Win, Mac では Linux の環境を準備する必要がある.

• サーバー系のアプリを扱うことが多い.

• gcc 等のコマンドも扱うことは可能.

(6)

Image と Container

• Image • アプリを実行するための環境設定の一部とプログラム が格納されている. • 自作もできるが,docker hub といサイトから安定したも のをダウンロード可能. • Container • 実行中のアプリのプロセス. • 普通のOSのプロセスと異なり,一時停止したり,データ として保存,復元したりできる(Image経由). 6 普通のアプリケーション Docker ロードモジュール (exe等) Image プロセス Container

(7)

既存アプリの使い方

(典型例)

1. docker hub から,使いたいイメージを探す. 2. docker image pull でイメージをダウンロード. 3. docker container create でコンテナを作る.

4. docker container start でコンテナをスタート. • この間,アプリが利用可能.

5. docker container stop でコンテナを停止.

コンテナやイメージを再度使わないなら以下. a. docker container rm でコンテナを削除.

b. docker image rm でイメージも削除.

(8)

dockerのインストールと

基本的な動作

デモ

5分 + 26分

(9)

docker hub

• https://hub.docker.com/ • 公式およびボランティアベースで公開された image を入手できる,種類はExplore から参照. Analytics ログ解析等の分析ツール App. Infrastructure ウェブサーバー等はココ App. Sever wordpress等のCMS等

Databases データベース

Programming Language Java Python 等 Storage 自前のクラウドストレージ等

(10)
(11)

docker run

• docker image pull, docker container create, docker container start をまとめたもの.

• こっちの利用が多いが,この授業では,ばらばらに 使う.

(12)

dockerのコマンド1

• docker image pull イメージ名

• docker container create イメージ名

• 多数オプションあり

• docker start コンテナ名 • docker stop コンテナ名 • docker image ls

• docker container ls –a • docker image rm イメージ名

• docker container rm コンテナ名

(13)

dockerのコマンド2

• docker container exec –it コンテナ名 コマンド

• docker network create ネット名

(14)

ネットワークの種類

• 以下の3種類ある 1. bridge • コンテナのポートをホストの任意のポートに再割り当て可能. よって,80番で動くhttpdの複数のコンテナを同時に動作させ られる. • デフォルトでは,これに接続される. 2. host • コンテナのポート番号を素直にホスト側に対応付ける. 3. none • ネットに接続しない. • bridgeについては,任意に新規作成でき,かつ,新規 作成したネットについては,コンテナ名を使って,コン テナ同士の通信ができる. 14

(15)

ポート・フォワード

• dockerで動作するサーバー系アプリのポートを,ホ ストOS側のポートに対応付ける機能. • ブリッジのみで有効. • これによって,例えば,同じ image の 異なる container のウェブサーバー(httpd)を複数同時に動 作させることができる. 15

(16)

ポートフォワードにより

同一

imageの,異なる

container を同時に動かす

デモ

10分

16

(17)

Container間の連携

• 複数のコンテナがネットワーク通信を介して,連携 動作させることができる. • ま,これは,コンテナじゃなくてもよくあること. • 同一のブリッジ型ネットワークに接続して,相互に 通信可能とする. • 最初からあるブリッジのネットでは,コンテナ名で の相互通信ができない. • よって,改めて,新規のブリッジ型ネットを作成す るのが普通. 17

(18)

複数

containerの連携例

デモ

13分

(19)

コンテナとホストのファイルコピー

• ホスト: docker を動かしているOS本体で,この授業 では,Windows10 を指す.Linux on WSL2 ではな い. • コンテナとホストはファイルシステムを共有してい ないので,コマンドで明示的にコピーする必要があ る. • 後述のマウントによって,共有させることもできる. 19

(20)

ファイルシステムのマウント

• mount • あるシステムにファイルシステムを接続(接ぎ木) することを指す. • UNIX/Linuxでは一般的な用語であり概念. • Winでは,「・・・ドライブの割り当て」に相当する. • ホスト側のフォルダの一部を,コンテナ内にマウン トすることで,ホストとコンテナのファイル共有が可 能となる. • docker コマンドの –v オプションを主に使う. 20

(21)

注意

Winは大小文字を区別しない

• Windows(正確にはNTFS)では,通常,英字の大 文字小文字を区別しない設定になっている. • しかし,Docker側は区別する. • ただし,Windows側でファイルを作る際に区別して 入力した大文字と小文字の違いは,ちゃんとNTFS に記録はされている. • また,この記録は,Docker側に伝わっている. • よって,Win側でファイルを作る際に,(たとえWin では差が無くても)大文字と小文字の違いを意識し て入力すればよさそうだ・・・ 21

(22)

参考

: fsutil.exe

• 大文字小文字の区別設定等を行うコマンド.

• set のほうは WSL が有効となってないと実行でき ない.

• fsutil file queryCaseSensitiveInfo フォルダ名

• あるフォルダの現状状態を確認

• fsutil file setCaseSensitiveInfo フォルダ名 enable

• 大文字と小文字を区別するように設定. • 区別したくないなら disable

(23)

ファイルのコピー

コンテナ内外のファイル共有

デモ

12分

(24)

コンテナのデータ化

• ある Container を他のマシンで動作させたい場合, コンテナをデータとして保存し運ぶことができる. • 具体的には,コンテナをイメージに変換する. • さすがに仮想マシンのイメージよりかなり小さい. • これによって,開発現場から,運用現場へシステ ムを移行するのがとても楽になる. • よって DevOps 開発において,docker は便利. • DevOps: 開発と運用を密に連携するシステム開発形態. 24

(25)

コンテナのイメージ化

• Container を Image にすることができる. • 既存の Image を機能拡張等の改造をする場合, 一旦,Container で修正するしかない. • それを,新たなバージョンために,Container を Image にする. • docker commit コンテナ名 イメージ名

• docker image save –o ファイル名.tar イメージ名

• 上記で「ファイル名.tar」というデータファイルにイメージ を保存でき,他のマシン等に運べる.

• tar は zip 等と同様のアーカイブ形式,UNIX系OSでは zip以上に一般的.

(26)

コンテナのイメージ化と保存

デモ

11分

(27)

一括処理的なアプリ

• ウェブサーバーやDBMSは長期間,動作し続けて いる. • いわゆるデーモンと呼ばれるもの. • 一方,コンパイラ等,一括処理(バッチ処理)的に動 作するものも少なくない.例: gcc javac • 一応,docker では,これらを扱うことができる. • ただ,コンテナで動かす旨味があまりない. 27

(28)

バッチ型のコンテナ実行

gccの例

デモ

7分

(29)

演習

• docker hub から適当なアプリのimageをダウンロードし,試用した 結果を報告せよ,報告には以下を含むこと. • 授業でサンプルとして出てこないアプリだと高得点. • できれば,バッチ処理系でないアプリが望ましい. 1. 試用したアプリの説明.何ができるアプリで,どのように動作 させるか? • 複数 image を利用したアプリでもよい. 2. 動作している様子の画面例,複数画面でもOK. • ブラウザ等,ちゃんと画面説明を文章で行うこと.

3. 動作中の docker container ls –a の結果のスクリーンショット. 4. 試用の感想.自由に書いてください.

• 〆切 7/19(月) 正午 WebClassへ

• 形式 10ページ以下 PDFもしくはDOCXで.

(30)

以上

参照

関連したドキュメント

を軌道にのせることができた。最後の2年間 では,本学が他大学に比して遅々としていた

l 「指定したスキャン速度以下でデータを要求」 : このモード では、 最大スキャン速度として設定されている値を指 定します。 有効な範囲は 10 から 99999990

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot

Nintendo Switchでは引き続きハードウェア・ソフトウェアの魅力をお伝えし、これまでの販売の勢いを高い水準

(( .  entrenchment のであって、それ自体は質的な手段( )ではない。 カナダ憲法では憲法上の人権を といい、

自閉症の人達は、「~かもしれ ない 」という予測を立てて行動 することが難しく、これから起 こる事も予測出来ず 不安で混乱

本事業を進める中で、