Dockerを基礎からインストールまで

Dockerと仮想マシンの違い

仮想マシンはHypervisorOS上でOSを動かしてその上にアプリケーションを動作させます。
DockerはOS上にコンテナ(囲い)を作成しその上でアプリケーションを動作させます。

似ているようですが、仮想マシンと異なりDockerはコンテナ(アプリケーション)単位で壊して、作り直して、更新といった動作がとてもやりやすいです。
物理マシンと比べて仮想マシンもOS単位でバックアップ、デプロイ、マイグレーションがとてもやりやすくなりましたが、Dockerはそれがアプリケーション単位で行うことが容易になりました。
DockerはOS上で動作するため、同一カーネル上で動作しておりcgroupでリソース管理を行なっています。
一つのサーバ上で動作するため、仮想マシンと比べてボトルネックにはなりやすいようです。

ボトルネックになりやすいと書きましたが、それ以上に運用管理が楽になりました。
以前はVPSでDockerを使わずにマストドンを運用していましたが、バージョンアップするのにバックアップや戻し方に悩むことがありました。
Dockerを導入してからは気軽にバージョンアップや更新ができるようになりました。
ボトルネックはあるのかもしれませんが、コンテナ単位でアプリケーションを増やすこともできるので、仮想マシンよりスケールアウトがしやすいです。
まだまだこれから発展が望める分野のため、構成や運用に上手く取り入れることができればと思います。

補足
Dockerのメリットを中心に書きましたが、だからといって仮想マシンのインフラが劣っていたり不要になる訳ではありません。
Dockerといってもデータの保存先はストレージサーバがあり、ネットワークも必要です。
これからはむしろ仮想マシンのインフラとどのように連携してスケールアウトやオーケストレーションができるようになっていくかだと思います。

Dockerイメージ

SlideShareに丁寧でわかりやすいスライドがありましたので、紹介します。
運用方法は仮想マシンとは全く異なります。むしろgitのバージョン管理に近いでしょう。

どうでしょうか?なんとなくコマンドの操作を想像できますでしょうか。
この方のスライドにDockerの基礎編がありますが、Dockerの仕組みといった細かい話が多く、これから始める方は難しく感じると思ったためこちらのスライドを紹介しました。

イメージも湧いたところで、それでは実際にDockerを操作していきましょう。

Dockerのインストール

本記事ではrootでの実行を前提としています。

MastodonをDockerで構築(S3連携)

2017.11.15
上の記事ではUbuntu16。04でのDockerインストール手順を書いていますが、今回はCentOS7でDockerを導入していきます。

公式マニュアル:https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-docker-ce

特にバージョン指定をしなければ最新版がインストールされます。
バージョンを指定する場合は、以下のコマンドからバージョンを確認してインストールしてください。

Dockerを起動します。

スライドにもあったdocker run hellow-worldを実行します。

これでDockerを使えるようになりました。
次回はDockerのイメージとコンテナ操作をしてみましょう。

Dockerの基本操作とDockerイメージの作成

2017.11.18

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です