本記事の背景
Dockerに関する記事が多くありますが、上記にピッタリのものがなかったので、あっちこっちから切り取ってまとめました。
本記事の前提条件
・Docker Desktop Windowsインストール済
・VSCODEインストール済
・VSCODE Docker拡張機能インストール済
・Flaskで簡単なアプリ構築済
・Git For Windowsインストール済
・Git Bashが使える
今回のWebアプリのファイルツリー
2023/06/23 22:40 175 docker-compose.yml
2023/06/23 22:39 254 Dockerfile
2023/06/23 22:32 817 hello.py
2023/06/23 22:25 4,147 requirements.txt
Dockerfile
Dockerコンテナをどのように構築するかの手順が書かれているファイル
今回はpythonライブラリーをpipコマンドでインストールする
つまり、Dockerコンテナの中に仮想環境を作っている
FROM python:3.10.2
WORKDIR /
ENV FLASK_APP=hello.py
ENV FLASK_RUN_HOST=0.0.0.0
COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install -r requirements.txt
COPY . .
CMD ["flask","run"]
Docker-compose.yml
これは、Dockerコンテナの中でサービスを定義し、実行するためのファイル
詳細は以下の記事に譲る
https://qiita.com/ryome/items/35df47a01a7fe3ac70ee
version: '3.10'
services:
python3:
restart: always
build: .
container_name: 'python3'
working_dir: '/'
tty: true
ports:
- "8005:5000"
Dockerのイメージ作成
イメージ作成とは、Dockerコンテナをイメージを一個のCDを焼くみたいな感じです。
docker build -t flask:v1.0 .
flask:イメージ名
v1.0:バージョン
作成後のイメージは以下に示す
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
flask v1.0 d7a5ab9e6bea 40 minutes ago 2.46GB
python latest 09b1cac8826b 9 days ago 1.01GB
ubuntu latest 99284ca6cea0 2 weeks ago 77.8MB
Dockerの起動、実行
$ docker run --name flask2 -d docker-flask-python3:latest
acc71adb4f9f0c805e171f20f07598f0fcca137317f3276dea4375c71946e38c
--name:コンテナ名
-d: イメージ:TAG
アプリケーションの確認
Dockerの停止
docker-compose stop
アプリ更新する場合
docker-compose up --build
上記のコマンドが便利ですが、いろいろ副作用があるようです。
参考文献