【Tool】Docker のインストールと使い方

Tool

Docker を使ってみたいんだけど、どうすれば良いのかな?

今回は、アプリケーションを仮想環境で実行できるツール である Docker について、インストール方法や使い方 をご紹介します。

Docker とは?

Docker とは、アプリケーションの実行に必要なOSやライブラリ、環境変数などの依存関係 をまとめて「コンテナ」と呼ばれる 軽量な仮想環境としてパッケージ化 し、実行できるツール です。

Docker を利用することで、開発環境と本番環境の差異を減らし、環境の違いによるトラブルを防ぎながら、アプリケーションを安定して動作させること ができます。

Docker のメリット

Docker を利用することで、主に次のような メリット があります。

  • 環境構築が簡単に行える
    Docker では、アプリケーションの実行に必要なOSやライブラリ、設定などをコンテナとしてまとめて管理 できるため、複雑な環境構築を簡単に行うこと ができます。
  • 環境の違いによる問題を防げる
    Docker を利用することで、「自分のPCでは動くのに、他のPCでは動かない」といった 環境差異による問題を防ぐこと ができます。
  • 開発環境と本番環境を同じようにできる
    Docker では 同じコンテナを利用してアプリケーションを実行できる ため、開発環境と本番環境を同じ構成にすること ができます。そのため、本番環境でのトラブルを減らすこと ができます。
  • 複数プロジェクトを簡単に管理できる
    Docker を利用すると、プロジェクトごとに独立したコンテナを作成できる ため、異なるライブラリやバージョンを使用する複数のプロジェクトでも簡単に管理 できます。

Docker の仕組み

Docker を理解するためには、ImageContainerDockerfile の3つの基本的な概念を知っておく必要があります。

Image

DockerImage(イメージ) とは、コンテナを作成するための設計図のようなものです。
Image には、アプリケーションを実行するために必要なOSやライブラリ、アプリケーション、設定情報など が含まれており、この Imageをもとにコンテナを作成することで、同じ環境を簡単に再現すること ができます。
例えば、Webサーバーとしてよく利用される NGINXDockerイメージ を利用すれば、簡単にWebサーバー環境を構築すること ができます。

Container

Container(コンテナ)とは、DockerImageもとに作成される実行環境のこと です。
Docker では、ImageからContainerを作成 し、その Container上でアプリケーションを実行 します。
つまり、Dockerでは「Image(設計図)」から「Container(実行環境)」を 作成してアプリケーションを実行 します。
また、1つの Image から 複数のContainerを作成すること も可能です。

Dockerfile

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

Dockerfile には、使用するソフトウェアのベースイメージや必要なライブラリのインストール、アプリケーションのコピー、実行するコマンドなどを記述 します。

この Dockerfile をもとに Dockerイメージを作成することで、誰でも同じ環境を簡単に作成できるようになります。

Docker のインストールと使い方

Docker のインストール

Mac の場合

  • 下記の方法でインストール後アプリケーションフォルダ から Dockerを起動
  • メニューバー に 🐳 クジラのアイコンが表示されていれば起動完了
    初回起動時にアクセス許可・パスワード入力を求められます
① Homebrew でインストール ※ Homebrew がインストールされている場合

--cask とは、HomebrewでMac向けのアプリケーションをインストールするときに使うオプション で、GUIアプリとして提供されるパッケージをインストールする場合に使用します

② 公式サイトからダウンロード

Docker公式サイト から Download for Mac (Apple silicon or Intel Chip)を ダウンロードしてインストール

Docker: コンテナー アプリケーション開発の加速
Docker は、開発者がコンテナー アプリケーションを構築、共有、実行できるように設計されたプラットフォームです。面倒なセットアップは私たちが行うので、あなたはコードに集中できます。

Windows の場合

公式サイトからダウンロード
  1. Docker公式サイト から Download for Windows (AMD64 or ARM64)を ダウンロードしてインストール
  2. PCを再起動
  3. 再起動後Docker Desktop を起動し、クジラのアイコンが表示 されていれば 起動完了
Docker: コンテナー アプリケーション開発の加速
Docker は、開発者がコンテナー アプリケーションを構築、共有、実行できるように設計されたプラットフォームです。面倒なセットアップは私たちが行うので、あなたはコードに集中できます。

Docker の動作確認

Docker の基本コマンド

コマンド意味
docker pullイメージ取得
docker runコンテナ実行
docker psコンテナ確認
docker stopコンテナ停止
docker rmコンテナ削除

例:nginxを起動

nginxDocker起動後、 ブラウザで「http://localhost:8080」にアクセスして表示確認

Dockerfile の作成 ※ PHPの場合

ここでは、PHPDockerfileの作成例 を紹介します

フォルダ構成

my-php-app フォルダを作成

index.php の作成

index.php を作成

Dockerfile の作成

Dockerfile を作成

Dockerfile の基本的な書き方
ベースイメージ(FROM作業ディレクトリ(WORKDIRファイルコピー(COPY実行コマンド(CMD

イメージ作成 と コンテナ起動

PHPコンテナ起動時にそのまま実行され、「Hello from Docker PHP! 」と表示される

Docker Compose(複数コンテナ)※ PHP + Nginx 環境の作成例

ここでは、PHPnginx での Dockerfileの作成例 を紹介します

フォルダ構成

my-php-nginx-app フォルダを作成

Dockerfile の作成

PHP フォルダ配下に Dockerfile を作成

index.php の作成

PHP フォルダ配下に index.php を作成

nginx用の設定ファイル(default.conf)を作成

nginx フォルダ配下の default.conf を作成

docker-compose.yml ※ 複数コンテナをまとめて管理

my-php-nginx-app フォルダ配下に docker-compose.yml を作成

Docker Compose コマンド と イメージ作成 & コンテナ起動

下記のコマンドを実行するビルド&起動が実行 され、ブラウザで「http://localhost:8080」にアクセスすると、「Hello from Docker Compose PHP + Nginx! 」と表示される

Docker Compose の基本的な流れ

まとめ

Docker の インストール方法や使い方 について解説してきましたが、いかがでしたでしょうか?

Docker は、アプリケーションの実行に必要なOSやライブラリ、環境変数などを「コンテナ」と呼ばれる 軽量な仮想環境としてパッケージ化 し、実行できるツール です。

Dockerfileコンテナを作成するための設計図 である Docker Imageを作成 し、その ImageからContainerを作成 して アプリケーションを実行 します。

ぜひ Dockerインストール して、さまざまな環境での開発 を試してみてください。

公式サイト

Docker

Docker: コンテナー アプリケーション開発の加速
Docker は、開発者がコンテナー アプリケーションを構築、共有、実行できるように設計されたプラットフォームです。面倒なセットアップは私たちが行うので、あなたはコードに集中できます。
tachu × tachu

Laravel / React フルスタックエンジニア

Webエンジニア歴15年、フリーランス歴8年で、PHP / Laravel を中心に、
React.js / Vue.js を用いたフルスタックでのWeb開発をしています。

技術記事は Laravel / React / Web開発 を中心に書いています。

Webサービスの開発、既存システム改善、機能追加、技術相談、小規模な開発など、お気軽にご相談ください。

Tool
シェアする

コメント

タイトルとURLをコピーしました