Dockerとは?
Dockerは、アプリケーションのデプロイメントを自動化するためのコンテナ型の仮想化技術です。
従来の仮想マシンとは異なり、軽量で高速に動作します。
コンテナを使用することで、開発環境と本番環境の差異をなくし、一貫性のある環境でアプリケーションを実行できます。
基本的なDockerコマンド
.イメージの取得
docker pull <イメージ名>
例: docker pull nginx
.コンテナの起動
docker run -d -p <ホストポート>:<コンテナポート> <イメージ名>
例: docker run -d -p 80:80 nginx
.コンテナの一覧表示
docker ps
.コンテナの停止
docker stop <コンテナID>
Dockerfileの作成
.Dockerfileの作成
# ベースイメージを指定
FROM node:14
# 作業ディレクトリを設定
WORKDIR /app
# パッケージファイルをコピー
COPY package.json /app
# 依存関係をインストール
RUN npm install
# アプリケーションのソースコードをコピー
COPY . /app
# アプリケーションを起動
CMD ["node", "index.js"]
# コンテナが使用するポートを指定
EXPOSE 3000
Dockerfileは、Dockerイメージを作成するためのレシピファイルです。
.Docker Composeの使い方
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
Docker Composeは、マルチコンテナDockerアプリケーションを定義し実行するためのツールです。
docker-compose.ymlファイルを使用して、アプリケーションのサービス、ネットワーク、ボリュームを設定します。
Docker Hubへのイメージのプッシュ
.Docker Hubにログイン
docker login
.イメージにタグを付ける
docker tag <イメージID> <Docker Hubユーザー名>/<リポジトリ名>:<タグ>
.イメージをプッシュ
docker push <Docker Hubユーザー名>/<リポジトリ名>:<タグ>
まとめ
Dockerは、アプリケーションの実行環境を一貫して提供するコンテナ型仮想化技術です。