LoginSignup
2
5

More than 3 years have passed since last update.

0から学ぶDocker

Last updated at Posted at 2019-11-27

チーム開発をしていて「Dockerイメージを作る」「Dockerコンテナをデプロイする」という言葉を聞くけど、そもそもDockerって何だ...?となった体験からまとめ記事を書きました。
0から学んで書いた記事なので違うことがあればご指摘ください。

Dockerを使う理由

そもそもなぜDockerを使う必要があるの?と思いましたが、開発をしているとこんな悲しみがあります。

  • 開発環境整えるのにめちゃくちゃ時間がかかる
  • 手元では動いたのにデプロイしたら動かない

これらを解決するのがDockerです。

Dockerの構成図

必要な情報をコンテナにまとめているので手元でコンテナを動かせば手軽に開発環境を整えられるし、コンテナをデプロイすれば開発環境と本番環境との差異を小さくできます。
スクリーンショット 2019-11-27 21.43.27.png

  • Dockerエンジン
    • Dockerコンテナ・イメージを管理するDockerそのもの
  • コンテナ
    • Dockerエンジン上で動く仮想環境
    • この中でアプリケーションが動く

コンテナの作り方

スクリーンショット 2019-11-26 23.41.25.png

  • Dockerfile
    • イメージを作るための設計図
  • イメージ
    • コンテナを作るための設計図
    • Dockerfileに書かれている各行が各イメージの層にあたる

コンテナによる仮想化のメリット

仮想化というとVirtualBoxなどをイメージしますが、仮想化には種類があります。

  • コンテナによる仮想化
  • 仮想マシンによる仮想化
    • ホストOS型(VirtualBoxはこれ)
    • ハイパーバイザー型

仮想マシンによる仮想化はGB単位でリソースを占有するのに対して、コンテナはMB単位なのでとても軽くて速いという特徴があります。

スクリーンショット 2019-11-27 22.07.40.png

最後に

以上、ざっくりとしたDockerまとめ記事でした。
今後備忘録としてDockerコマンド解説記事も書きたい気持ち。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5