ふくだ学習録とは?
ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。
読了した本
データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]
ゼロから作るDeepLearning
PHPフレームワーク CakePHP 3入門
SQLアンチパターン
今読んでいる本
Docker入門
Dockerの特徴
①Linuxカーネル上に「Dockerエンジン」と呼ばれる仮想化基盤を構築でき、その上にアプリケーション実行環境を構築・稼働できる。
②設定ファイルに基づいて、Dockerエンジンで稼働可能なアプリケーション実行環境を素早く、自動的に構築できる。
③アプリケーション実行環境の構成に必要なイメージを配布する「Docker Hub」をはじめとするレジストリサービスを利用できる。
上記3点が主な特徴になる。
Docker Hubはタダ?
基本タダ。ただしプライベートコンテナイメージは1つまでしか無料で作成できない。
DockerHubの料金体系と、AmazonECRの料金体系との比較は下記記事参考。
(Amazonはお得意のデータ転送量によって変わる従量課金制。よっぽど慣れるまでの間は無難に料金推測できるDockerHubのが安全かも)
Docker による環境構築に必要なコンテナイメージの管理を考える、Amazon ECR と Docker Hub の料金を比較も解説
レジストリはDocker Hubを利用しなくてはいけないのか?
そんなことはない。プライベートレジストリサーバを作成することも可能。
やり方は下記記事を参考にする。
プライベートなDockerレジストリサーバーをコンテナで立てる
Vagrantとは?
Dockerが、カーネル部分はホストのものを使用するのに対して、Vagrantはカーネルもシミュレータで作成する。(って言い方で多分あってるはず)
その分Dockerよりも重くなってしまうが、環境依存性はさらに低くできる。(Windowsなどで使用されたりすることが多いとのこと)
Web系のDocker民から見たVagrantについて
VagrantとDockerについて名前しか知らなかったので試した
OSについてもうちょい詳しく
この記事すんごい分かりやすくて神。
プロビジョニングとは?
サーバーを選定したりOSやソフトウェアをインストールするなどして、サーバーがサービスを提供できるようにするまでの一連の作業のこと。
プロビジョニングを行うための大きな要素として、オーケストレーション、設定、ブートストラッピングの3種類がある。
Dockerは上記3種類全ての機能を提供しているが、主に提供しているものはブートストラッピング機能。
オーケストレーションとは?
システムやソフトウェア、サービスなどの構築、運用管理を自動化することを指す言葉。
ブートストラッピングとは?
クラウド/仮想イメージの実行やOSインストールを行うこと。
DevOpsとは?
開発チーム(Development)と運用チーム(Operations)がお互いに協調し合うことで(図1参照)、開発・運用するソフトウェア/システムによってビジネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ迅速にエンドユーザーに届け続ける」という概念。
DevOpsとは何か? そのツールと組織文化、アジャイルとの違い
Docker向きのOS
DockerはLinuxOSの上で稼働するため、無駄な機能(使わない機能)が出来るだけ少ないLinuxOSを選定した方がパフォーマンスもセキリュティも上がる。Docker向きのOSは下記サイト参考。(実際に企業レベルではどんなOS使ってるんやろ。。?結局UbuntuとかCentOSなんか。。?)
Docker向けの軽量Linux OS 主要3種を比較する
Linuxディストリビューション用途別おすすめ10選
Dockerのコンテナ内で使われるOSについて
この疑問はすごいあったけど、下記の回答が一番分かりやすかったかも。
結局Linux!(ディストリビューションごとの特性までは覚えてられん!!)
今日の一言
「Dockerについて体系的に知っておいた方がいいな」と思って勉強しだしたけど、疑問が疑問をよびまくってる。
いい感じ!勉強たのぴぃ!