0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerとコンテナの基本概念 コンテナ技術とDockerの仕組みを理解する

0
Posted at

近年のアプリケーション開発では
コンテナ技術が広く利用されています。

例えば次のような環境です。

  • 開発環境
  • テスト環境
  • 本番環境

従来のサーバー構築では、環境ごとに設定が異なり
「自分の環境では動くのに本番では動かない」という問題が発生することがありました。

このような問題を解決する仕組みが
コンテナ技術です。

その代表的なツールが
Dockerです。

この記事では次の内容を解説します。

  • コンテナの基本概念
  • Dockerの基本概念
  • Dockerイメージの仕組み
  • Dockerfileとイメージの関係

① コンテナの基本概念

コンテナとは

アプリケーションを実行するための軽量な実行環境です。

■ 従来の仮想化技術(VM)

物理サーバー

ハイパーバイザー

VM

OS

アプリ

■コンテナ

物理サーバー

OS

コンテナエンジン

コンテナ

アプリ

コンテナの特徴

  • 軽量
  • 高速起動
  • 環境の再現性

そのため
マイクロサービスやクラウド環境で多く利用されています。


② Dockerの基本概念

Dockerとは

コンテナを作成・管理するためのプラットフォームです。

Dockerを利用することで

  • コンテナ作成
  • コンテナ実行
  • コンテナ管理

を簡単に行うことができます。

■Dockerの基本構成

Docker Client

Docker Engine

コンテナ

またDockerを利用するには
Docker Desktopをインストールします。

Docker Desktopは

  • Docker Engine
  • Docker CLI
  • Docker GUI

などをまとめて提供するツールです。


③ DockerイメージとDockerfile

Dockerイメージ

Dockerイメージとは

コンテナを作成するための設計図です。

イメージには

  • OS
  • ミドルウェア
  • アプリケーション

などが含まれています。

Dockerイメージ

コンテナ作成


Docker Hubとプライベートリポジトリ

Dockerイメージは
リポジトリに保存されます。

代表的なリポジトリ

種類 説明
Docker Hub 公開イメージ
プライベートリポジトリ 企業専用イメージ

イメージ例

nginx
mysql
redis


Dockerfile

Dockerfileとは

Dockerイメージを作成するための設定ファイルです。

FROM nginx
COPY index.html /usr/share/nginx/html

■Dockerfileとイメージの関係
Dockerfile

docker build

Dockerイメージ

docker run

コンテナ

このような流れで
コンテナが作成されます。

④ まとめ

Dockerは

コンテナを作成・管理するためのプラットフォームです。

主なポイントは次の通りです。

コンテナはアプリ実行環境

Dockerはコンテナ管理ツール

Dockerイメージはコンテナの設計図

Dockerfileでイメージを作成する

Docker Hubでイメージ共有できる

Dockerを利用することで
環境差異のないアプリケーション実行環境を構築できます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?