DockerとUbuntuについて
昨日から新しい職場で開発案件に配属されたので
調べたことについてできるだけ毎日アウトプットしようと思う
今回はDockerとUbuntuについて
コンテナとは
CPUやメモリ、ファイル保存場所と言った
リソースが独立したOS上のプロセスのこと
アプリケーションを動かすために必要な、ランタイム/エンジン、依存ライブラリ/パッケージ、アプリケーションコードをすべてコンテナのなかにまとめておくことで環境に依存しないで動かすことができる。
コンテナに入れないものが「設定」で、
設定値は環境ごとに異なるもの。これをコンテナに入れると環境ごとにコンテナを作ることになってしまうから
「コンテナ」は、「1つのOS」上で、複数のリソースを独立した状態のまま稼働させる実行環境を提供している
dockerの強み弱み
Dockerは、コンテナそのものを実現するためのもの
サーバやローカルPCなどでDockerエンジンを実行しておけば、そのうえでコンテナを作成して動かすことができる。
ローカルPCで作ったDockerコンテナをそのままサーバ環境にもっていけば、同じように動くということ
環境ごとにPythonとかのランタイムをインストールする必要がないことと
バージョンの差を考慮する必要もない
Dockerとは
コンテナのフリーソフトの一つ
Dockerは簡単に言えば一つのLinuxサーバー内に複数の分離されたOS環境を作る技術(コンテナ型仮想化)です。
「分離されたOS環境」とは、OSの最もコアになるKernelという部分だけを共有し、OS上で動作するKernelの機能を使う各種プログラム(基本的なOSのコマンド等を含む)を個別の「コンテナ」内で実行することによって、1台のサーバーの各種リソース(CPU/メモリ等)を共有する複数のOS環境を作るものです
コンテナは同一カーネルが動作しているDockerホスト上であれば基本的にどこで実行してもOS上で動く環境は全く同じものが再現される(冪等性がある)のがメリットの一つです
ただし、Dockerではサーバごとに「必要なコンテナを用意して」「実行する」必要があるため、規模が大きくなると延々これを繰り返すことになります。
Ubuntu
Linuxディストリビューションの1つである「Ubuntu」は、「誰にでも簡単に使えるLinuxシステム」と「タイムベースのリリース」を大きな特徴としている。
「ubuntu」自体はアフリカのズールー語で「他者への思いやり」という意味を持った言葉であり考え方である。
Ubuntuのメリット
Ubuntuのタイムベースのリリース
1年に2回、4月と10月にリリースする
バージョン番号は西暦下ふた桁と月を使って「YY.MM」とする
各リリースのサポート期間は9カ月
2年に1度、偶数年の4月に「長期サポート版(Long Term Support:LTS)」をリリースする
LTSのサポート期間は5年(有償サポート込みで10年)
バージョン番号は西暦下ふた桁と月を使って「YY.MM」とする
各リリースのサポート期間は9カ月
2年に1度、偶数年の4月に「長期サポート版(Long Term Support:LTS)」をリリースする
LTSのサポート期間は5年(有償サポート込みで10年)
このため「次はいつリリースされるのか」、「これはいつにリリースされたバージョンか」「いつまでサポートされるのか」などが、バージョンだけでわかるようになっている。
キーボードで普通に使える
コンピュータ初心者に対しても丁寧な説明とユーザーインターフェイスが提供されている
Linuxはキーボードの操作が多い
Ubuntuはインストールから操作のほとんどがマウス操作で完結する
インストールしなくても動かせる
UbuntuはインストールしないでUbuntuを動かすことが出来る
UbuntuはLiveDVD単インストールする時もインストールアイコンをクリックし指示にしたがうだけでUbuntuがインストールされる。
さらにUbuntu Japanese Teamにより日本語にローカライズされている
丁寧な説明とインターフェイス
マウスを使ったGUI操作
快適な日本語環境
デスクトップ環境が簡単にインストールでき、インストールした段階でも充分使いやすい所がメリットと言える
参考文献