Docker|Flask Appフロート


Dockerを使用してFlashアプリケーションを起動するには、次の設定が必要です.
app.run(host='0.0.0.0', port=5000)

Dockerfileの作成

  • ドックファイルは、ドック画像の設計図と同じです.
  • 1.dockerfileの構成
  • FROM:どのLinux(Dockerの画像)を使用するかを指定します.
    👉 言語やバージョンとは異なるosがいくつかあります.
    👉 python dockerイメージを検索してテンプレートを表示します.
  • COPY:ファイルのコピー
    👉 .は現在のディレクトリ、/appはコンテナのディレクトリです
    👉 あらかじめ作っておいたアプリ.pyファイルを/appにコピーするという意味です.
    👉
  • はdocker buildを実行するファイルを/appにコピーすることを意味します.
  • WORKDIR:コンテナでコマンドを実行するディレクトリ(コンテナ実行時の始点)
  • RUN:コンテナを構成するファイルを作成します.
    👉 ここにフラスコとappを取り付けます.py権限を変更するコマンドが実行されました.
  • CMD:コンテナ運転後に実行するコマンド
    👉 python3 app.pyコマンドを使用してflask appを実行します.
  • 2.私のPythonディレクトリにDockerfileを作成します(拡張子なし)

    Docker build後にコンテナにオフセット

  • Dockerfileを使用して構築します.
    👉 Dockerfileを読み込んでイメージを作成します.
  • docker build -t flask-app .
  • 埠頭runでコンテナを運転します.
    👉 app.pyで設定したポート番号を使用してアクセスする必要があります.
  • docker run -d -p 5000:5000 flask-app

    app.pyが存在するディレクトリに移動して実行


    👉 次のコマンドを入力します.
    ☁  docker  docker build -t flask-app .
    👉 아래와 같이 실행된다.
    ...
     => [2/5] COPY . /app                                                                                                0.1s
     => [3/5] WORKDIR /app                                                                                               0.0s
     => [4/5] RUN pip3 install flask                                                                                     5.2s
     => [5/5] RUN chmod +x /app/app.py
     ...
    👉 確認した結果、生成された画像は以下のようになります.
    ☁  docker  docker images
    REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
    flask-app    latest    0bf635958d7e   About a minute ago   55MB
    👉 まだ何もありません.
    ☁  docker  docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    👉 コマンドを入力してcontainerを実行します.次のようにします.
    ☁  docker  docker run -p 5000:5000 flask-app
    👉 app.pyに変更がある場合はbuildを再実行します.
    ☁  docker  docker build -t flask-app .
    👉 今回は-dオプションを与え、端末をオフにしても実行できます.
    docker run -d -p 5000:5000 flask-app
    👉 また、以下の異なる名前を使用して複数の名前を表示することもできます.画像名は、下図のように変更されます.
    ☁  docker  docker run -d -p 5000:5000 flask-app:v2