DockerでPython環境をパッケージ化するプロセスの詳細な説明

DockerでPython環境をパッケージ化するプロセスの詳細な説明

docker パッケージング Python 環境の手順は次のとおりです。

1 pip listの下にある依存パッケージをエクスポートする

pip フリーズ > requirements.txt

エクスポートしたrequirements.txtをdocker_testディレクトリに置きます。

docker_test はパッケージ化するコード ソース フォルダーです。このデモのdocker_testフォルダにはrequirements.txtとapp.pyファイルが必要です。

2. Dockfileを書く

docker_test と同じディレクトリに Dockerfile を作成します。形式は次のとおりです。

#FROM python:3.9.6 に基づくベースイメージ

# メンテナー情報 メンテナー名 [email protected]

# docker_test ディレクトリのコードをイメージ内のコード フォルダに追加します (2 つのディレクトリ パラメータの間にはスペースがあります)

./docker_test /code を追加します。

# コードフォルダを作業ディレクトリに設定する WORKDIR /code

# インストールサポート RUN pip install -r requirements.txt

#docker の実行中に app.py ファイルを実行しますCMD ["python","/code/app.py"]

3. イメージを作成する

docker build -t イメージ名 Dockerfilepath 

# Dockerfilepath: Dockerfile が配置されているフォルダーの名前。現在のディレクトリは "." です。 

ビルドを実行します。

4 イメージを実行する

docker run -t -i d_t

5 運用結果

ps: dockerでパッケージ化されたPythonプログラムを見てみましょう

手順: 環境を準備する - Python プログラムをコピーする - プログラムを起動する

簡単にするために、PythonプログラムはPythonファイルapp.pyです。

アプリ.py

FlaskからFlaskをインポート
アプリ = Flask(__name__)
@app.route('/')
デフハロー():
    「hello docker」を返します
__name__ == '__main__' の場合:
    app.run(ホスト=0.0.0.0、ポート=5000)

Dockerファイル

Python:2.7から
ラベル メンテナー="Peng Xiao<[email protected]>"
pip install flaskを実行します。
app.py /app/ をコピーする
ワークディレクトリ /app
エクスポーズ5000
コマンド ["python", "app.py"]

イメージをビルドしてコンテナを起動する

python で soymilk を実行します。
docker run -d 豆乳/python-test

これで、docker で Python 環境をパッケージ化するプロセスに関するこの記事は終了です。docker で Python 環境をパッケージ化するプロセスの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker pythonでパッケージングを実装する方法
  • Docker パッケージの Python コマンドの詳細な説明
  • この記事では、Dockerを使用してPythonランタイム環境をパッケージ化する方法を説明します。

<<:  MySQLトリガーについて深く理解するための記事

>>:  CSS3 の Flex レイアウトの詳細な分析

推薦する

CSSを使用して複数の画像を中央に水平に表示する方法

まず実装手順について説明します。最終結果 2. コードの実装HTML部分 <div class...

JavaScript Reduceの詳しい説明

目次地図フィルターいくつかの毎インデックスを検索パイプ参考回答1. パラメータを受け入れる関数を返す...

vue-pdf はオンラインファイルプレビューを実現します

この記事では、参考までに、ファイルのオンラインプレビューを実現するためのvue-pdfの具体的なコー...

HTMLは角丸四角形を簡単に実装します

質問: div+css と配置を使用して角丸四角形を実現するにはどうすればよいですか?ソリューション...

Mysql を 5.7 にアップグレードした後のグループ クエリの問題を解決する

問題を見つける最近MySQLをMySQL 5.7にアップグレードした後、次のようなクエリでグループ化...

Nginx ロードバランシングの設定方法

目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...

CSS3 引用のソースと出典をマークする方法

疫病のせいで家にこもりきりで、頭がおかしくなりそうなので、パソコンを起動して頭を働かせてみました。今...

CSSスタイルのカスケーディングルールの詳細な説明

CSS スタイル ルール構文スタイルは、CSS の基本単位です。各スタイル ルールは、セレクターと宣...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

ReactとReduxの関係を詳しく説明

目次1. reduxとreactの関係2. Reactのマルチコンポーネント共有3. reduxの3...

mysql 5.7.11 winx64.zip インストールと設定方法のグラフィックチュートリアル

MySql データベース システムをインストールして構成します。 1. ダウンロード http://...

プログレッシブ ウェブ アプリ (PWA) の開発方法

目次概要必要とするアプリURL PWA にはどのような技術コンポーネントが必要ですか?マニフェストフ...

MySQL エラー コード 1862 の解決方法: パスワードの有効期限が切れています

ブロガーは 1 ~ 2 か月間 MySQL を使用していませんでしたが、今日この問題に遭遇しました。...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...