Help us understand the problem. What is going on with this article?

【ふくだ学習録】Docker入門 part1【20日目】

ふくだ学習録とは?

ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。

読了した本

データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]
ゼロから作るDeepLearning
PHPフレームワーク CakePHP 3入門
SQLアンチパターン

今読んでいる本

Docker入門

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基礎の基礎をまとめてみた。

プロビジョニングとは?

サーバーを選定したり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のコンテナ内で使われるOSについて

今日の一言

「Dockerについて体系的に知っておいた方がいいな」と思って勉強しだしたけど、疑問が疑問をよびまくってる。
いい感じ!勉強たのぴぃ!

fukuda_fu
フロントエンドエンジニアです。普段はReact書いたりしてます。 勉強がてらにアウトプットします。よろしくです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away