Dockerを使ったローカル開発環境の構築

Sponsored Link

Dockerは、仮想化技術を用いたアプリケーションのコンテナ化ツールで、開発環境を効率的に構築・管理するために多くの開発者に利用されています。本記事では、Dockerを使ってローカルの開発環境を構築する方法と基本操作について解説します。この記事を参考にすることで、初心者でも簡単にDockerを利用したローカル開発環境を作成し、効率的な開発ができるようになります。

Dockerとは

Dockerの概要

Dockerは、コンテナ技術を用いてアプリケーションやその依存関係を一つのパッケージとしてまとめ、どの環境でも一貫して動作させることができるツールです。アプリケーションを「コンテナ」として動作させるため、ホスト環境に依存せずに動作させることが可能です。

Dockerのメリット

  • 環境の一貫性:開発環境や本番環境の違いにより起こるエラーを軽減します。
  • 効率的なリソース管理:仮想マシン(VM)と比較して軽量で高速です。
  • 移植性の高さ:どのホスト環境でも同じように動作するため、複数人での開発やデプロイが容易です。

Dockerのインストール

Dockerを利用するためには、Docker Desktopをインストールします。以下の手順で、Mac、Windows、Linuxにインストールが可能です。

手順

  1. Dockerの公式サイトにアクセス Docker公式サイトにアクセスし、Docker Desktopをダウンロードします。
  2. インストーラの実行 ダウンロードしたインストーラを実行し、画面の指示に従ってインストールします。インストール完了後、Docker Desktopを起動し、Dockerが正常に動作しているか確認してください。
  3. インストールの確認 ターミナル(またはコマンドプロンプト)を開き、以下のコマンドでDockerのバージョン情報が表示されるか確認します。bashコードをコピーするdocker --version 正常にインストールされていれば、Dockerのバージョン情報が表示されます。

Dockerの基本操作

Dockerを使った開発環境の構築にあたり、まずは基本的な操作方法を理解しておきましょう。以下のコマンドを使用することで、コンテナの作成や管理が容易に行えます。

1. Dockerイメージを取得する

Dockerでは「イメージ」をもとにコンテナを作成します。イメージはアプリケーションの設定が含まれたテンプレートです。例えば、Nginxのイメージを取得する場合は以下のコマンドを実行します。

docker pull nginx

2. コンテナの作成と起動

取得したイメージからコンテナを作成し、起動するにはdocker runコマンドを使います。以下のコマンドで、Nginxのコンテナをバックグラウンドで起動できます。

docker run -d -p 8080:80 nginx
  • -d:バックグラウンドでコンテナを実行
  • -p:ホストのポートとコンテナのポートをバインド(例ではホストの8080番をコンテナの80番にマッピング)

3. 起動中のコンテナを確認する

現在起動しているコンテナを確認するには、以下のコマンドを実行します。

docker ps

4. コンテナの停止と削除

不要なコンテナは停止し、削除することが可能です。

  • コンテナの停止:bashコードをコピーするdocker stop <コンテナID>
  • コンテナの削除:bashコードをコピーするdocker rm <コンテナID>

5. イメージの削除

不要になったDockerイメージも削除できます。

docker rmi nginx

開発環境の構築例:Node.jsアプリケーション

ここでは、簡単なNode.jsアプリケーションをDocker上で動作させる手順を紹介します。

1. Node.jsアプリケーションの準備

まず、Node.jsアプリケーションのディレクトリを作成し、以下のコードをapp.jsというファイルに保存します。

// app.js
const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello Docker World\n');
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

2. Dockerfileの作成

次に、Node.jsアプリケーションをDocker上で動作させるためにDockerfileを作成します。

# Node.jsイメージを取得
FROM node:14

# 作業ディレクトリの作成
WORKDIR /usr/src/app

# アプリケーションのファイルをコンテナにコピー
COPY . .

# アプリケーションのインストールとビルド
RUN npm install

# コンテナがリッスンするポートを指定
EXPOSE 3000

# アプリケーションの起動
CMD ["node", "app.js"]

3. Dockerイメージのビルド

以下のコマンドでDockerイメージをビルドします。

docker build -t my-node-app .

4. コンテナの起動

ビルドしたイメージからコンテナを起動します。

docker run -p 3000:3000 my-node-app

ブラウザでhttp://localhost:3000にアクセスすると、Hello Docker Worldと表示されれば成功です。

Docker Composeを使った環境管理

複数のサービスを連携させて開発する際には、docker-compose.ymlファイルを使うと便利です。以下のようなファイルを作成することで、Node.jsとRedisを連携させた開発環境を一括で管理できます。

version: '3'
services:
app:
build: .
ports:
- "3000:3000"
redis:
image: "redis:alpine"

Docker Composeでコンテナを起動する

以下のコマンドで、Composeファイルに基づいて一括でコンテナが起動します。

bashコードをコピーするdocker-compose up -d

まとめ

Dockerを使用すると、どの環境でも一貫した開発環境を簡単に構築できるため、開発の効率化に大きく寄与します。本記事で紹介した基本操作と構築手順を参考に、ぜひDockerを活用してみてください。

Home
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious set...
タイトルとURLをコピーしました