目次
①サンプルアプリ作成
「Hello, Docker!」が表示されるシンプルな Web アプリケーション(Flask)を作成します。

STEP
①-1 プロジェクト作成
ターミナル(コマンドプロンプト、PowerShell 等)で以下コマンドを実行します。
mkdir my-docker-app && cd my-docker-app
STEP
①-2 Webアプリケーション(Flask)作成
①-1で作成した新規ディレクトリ内にapp.py
を作成します。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Cloud Run!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)
STEP
①-3 requirements.txtの作成
①-1で作成したディレクトリ配下に「requirements.txt」を作成します。
Flask==2.0.3
gunicorn==20.1.0
②Dockerfileの作成
コンテナの構成を記述する「Dockerfile」を作成します。
# 1. Pythonの公式イメージをベースに使用
FROM python:3.9
# 2. 作業ディレクトリを設定
WORKDIR /app
# 3. 必要なパッケージをインストール
COPY requirements.txt .
RUN pip install -r requirements.txt
# 4. アプリケーションのコードをコピー
COPY . .
# 5. コンテナ起動時に実行するコマンド
CMD ["python", "app.py"]
■解説
FROM python:3.9
- Python 3.9 の公式 Docker イメージをベースに使用
WORKDIR /app
- コンテナ内の作業ディレクトリを
/app
に設定
- コンテナ内の作業ディレクトリを
COPY requirements.txt .
requirements.txt
をコンテナ内の/app
にコピー
RUN pip install -r requirements.txt
requirements.txt
に記載された Python パッケージをインストール
COPY . .
- ローカルのすべてのファイルをコンテナ内の
/app
にコピー
- ローカルのすべてのファイルをコンテナ内の
CMD ["python", "app.py"]
- コンテナ起動時に
python app.py
を実行
- コンテナ起動時に
③Docker Desktopのインストール
STEP
③-2 インストーラーの実行
③-1でダウンロードしたインストーラーを実行し、再起動します。

STEP
③-3 wsl2をインストール
以下コマンドを実行します。
wsl --install
④Dockerイメージの作成
作成したDockerfileをもとにDockerイメージを作成します。
STEP
④-1 Dockerイメージ作成
以下コマンドを実行します。
docker build -t my-flask-app .
-t my-flask-app
:作成するイメージの名前.
:カレントディレクトリ(Dockerfileがあるフォルダ)を指定
STEP
④-2 作成したDockerイメージの確認
以下コマンドを実行して、Dockerイメージが作成されていることを確認します。
docker images

⑤コンテナの起動
作成したイメージを使ってコンテナを起動します。
docker run -d -p 5000:5000 --name my-container my-flask-app
-d
:バックグラウンドで実行-p 5000:5000
:ホストの5000番ポートをコンテナの5000番ポートにマッピング--name my-container
:コンテナ名をmy-container
に設定
⑥アプリの動作確認
ブラウザで http://localhost:5000
にアクセスし、Hello, Docker!
と表示されることを確認します。

【補足】コンテナの管理
■コンテナのログを確認
docker logs my-container
■コンテナの停止
docker stop my-container
■コンテナの削除
docker rm my-container
■イメージの削除
docker rmi my-flask-app
コメント