Docker|Flask Appフロート
Dockerを使用してFlashアプリケーションを起動するには、次の設定が必要です.
ドックファイルは、ドック画像の設計図と同じです. 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を作成します(拡張子なし)
Dockerfileを使用して構築します.
👉 Dockerfileを読み込んでイメージを作成します. 埠頭runでコンテナを運転します.
👉 app.pyで設定したポート番号を使用してアクセスする必要があります.
👉 次のコマンドを入力します.
app.run(host='0.0.0.0', port=5000)
Dockerfileの作成
👉 言語やバージョンとは異なるosがいくつかあります.
👉 python dockerイメージを検索してテンプレートを表示します.
👉 .は現在のディレクトリ、/appはコンテナのディレクトリです
👉 あらかじめ作っておいたアプリ.pyファイルを/appにコピーするという意味です.
👉
👉 ここにフラスコとappを取り付けます.py権限を変更するコマンドが実行されました.
👉 python3 app.pyコマンドを使用してflask appを実行します.
Docker build後にコンテナにオフセット
👉 Dockerfileを読み込んでイメージを作成します.
docker build -t flask-app .
👉 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
Reference
この問題について(Docker|Flask Appフロート), 我々は、より多くの情報をここで見つけました https://velog.io/@combi_jihoon/Docker-Flask-App-띄우기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol