Dockerは、アプリケーションをコンテナ化して、環境依存なく実行できるツールです。ここでは、Dockerイメージを使ってアプリを起動する方法を解説します。
1. Dockerのインストール
まずはDockerをインストールします。
- Mac: Docker Desktop for Mac をダウンロードしてインストール
- Windows: Docker Desktop for Windows
- Linux: 以下のコマンドでインストール可能(Ubuntu例)
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker
インストール後、動作確認:
docker --version
Dockerのバージョンが表示されればOKです。
2. Dockerイメージを取得
Dockerイメージはアプリの「設計図」です。まずはイメージを取得します。
docker pull <イメージ名>:<タグ>
例: Pythonアプリの公式イメージを取得
docker pull python:3.11
3. Dockerコンテナの起動
イメージからコンテナを作成して実行します。
docker run [オプション] <イメージ名>
よく使うオプション
-
-d: デタッチモードでバックグラウンド実行 -
-p ホストポート:コンテナポート: ポートを公開 -
--name コンテナ名: コンテナに名前を付ける -
-v ホストパス:コンテナパス: ボリューム(ファイル共有)をマウント
例: Webアプリを起動
docker run -d -p 8080:80 --name myweb nginx
- Nginxコンテナをバックグラウンドで起動
- ホストの8080番でアクセス可能
4. 起動中のコンテナを確認
docker ps
- 現在動作中のコンテナ一覧を表示
停止中も含めて確認したい場合:
docker ps -a
5. コンテナの操作
- 停止:
docker stop <コンテナ名 or コンテナID>
- 再起動:
docker restart <コンテナ名 or コンテナID>
- ログ確認:
docker logs <コンテナ名 or コンテナID>
- コンテナに入る(シェルアクセス):
docker exec -it <コンテナ名> /bin/bash
6. Docker Composeを使った複数コンテナ管理
複数のサービスを同時に起動する場合はdocker-compose.ymlを使います。
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
app:
image: python:3.11
volumes:
- ./app:/app
起動:
docker-compose up -d
停止:
docker-compose down
まとめ
- Dockerをインストール
- Dockerイメージを取得 (
docker pull) - コンテナを起動 (
docker run) - コンテナの状態を確認 (
docker ps) - 停止・再起動・ログ確認などの操作
- 複数サービスはDocker Composeで管理
Dockerを使えば、環境依存を気にせずアプリを簡単に起動できます。