Dockerを用いたコンテナ開発の基本
Dockerとは
Dockerは、アプリケーションをコンテナと呼ばれる軽量の仮想環境で実行するためのプラットフォームです。コンテナは、アプリケーションとその依存関係を一つのパッケージとしてまとめるため、開発環境と本番環境の違いによる問題を解消し、効率的なデプロイを可能にします。
コンテナの作成
Dockerを使用してコンテナを作成する基本的な手順を見ていきましょう。
1. Dockerfileの作成
Dockerfileは、コンテナのイメージを作成するための設定ファイルです。以下は、Node.jsアプリケーションのためのシンプルなDockerfileの例です。
# ベースイメージの指定FROM node:14# アプリケーションディレクトリの作成WORKDIR /app# パッケージファイルをコピーCOPY package*.json ./# 依存関係のインストールRUN npm install# アプリケーションコードのコピーCOPY . .# アプリケーションの実行CMD ["node", "app.js"]
2. イメージのビルド
Dockerfileが作成できたら、次にDockerイメージをビルドします。ターミナルで以下のコマンドを実行します。
docker build -t my-node-app .
このコマンドは、現在のディレクトリにあるDockerfileを使用して、my-node-app
という名前のDockerイメージをビルドします。
3. コンテナの実行
ビルドしたイメージをもとにコンテナを作成し、実行します。
docker run -p 3000:3000 my-node-app
このコマンドは、my-node-app
イメージからコンテナを作成し、ローカルホストのポート3000でアプリケーションを実行します。
イメージの管理
Dockerでは、ビルドしたイメージを管理するためのいくつかのコマンドが用意されています。
- リストの表示:
docker images
コマンドでローカルに存在するすべてのイメージを表示できます。 - イメージの削除:
docker rmi <イメージID>
コマンドで不要なイメージを削除できます。 - イメージのプッシュ:
docker push <リポジトリ>:<タグ>
コマンドでイメージをDocker Hubなどのリポジトリにプッシュし、他の環境で使用できるようにします。
コンテナの操作
Dockerコンテナの操作には、以下のような基本的なコマンドが使用されます。
- コンテナの停止:
docker stop <コンテナID>
で実行中のコンテナを停止します。 - コンテナの削除:
docker rm <コンテナID>
で停止したコンテナを削除します。 - ログの表示:
docker logs <コンテナID>
でコンテナのログを表示します。
まとめ
Dockerは、コンテナ技術を利用してアプリケーションの開発からデプロイまでを効率化する強力なツールです。本記事では、Dockerを使用したコンテナの作成、イメージのビルド、コンテナの実行と管理について解説しました。これらの基本を理解することで、より高度なコンテナ開発に取り組むことができます。Dockerを活用して、開発プロセスの効率化とアプリケーションの可搬性を向上させましょう。