Docker を使用して Python プロジェクトをサーバーにデプロイするプロセス全体

ミッションの詳細

ノートブックのコンピューティング能力には限界があるため、Python プロジェクトをサーバーにデプロイする必要があります。
たくさんの情報を参考にし、数え切れないほどの落とし穴を踏んだ結果、皆さんのお役に立てればと思い、今日はその一部始終を記録させていただきます。

構成要件

  1. デプロイする必要がある Python プロジェクト
  2. 仮想マシン/Linux
  3. ドッカーのインストール
  4. サーバポート

大まかな流れ

 1.Dockerパッケージ化

プロジェクトの最終的な構造は次のとおりです。

 ディレクトリ構造

docker_test
っていつ── Dockerfile って
いつ── pythonproject
│││ └── tset.py
│││ └── その他の設定ファイル
└── 要件.txt

要件.txt を生成する

main.py ディレクトリに cd する
か、pycharm のターミナルで直接実行します。

pipenv lock --requirements > requirements.txt
//或者
pip freeze >> requirements.txt

要件ファイルを取得する

pycharm のターミナル ウィンドウ

dockFileの書き込み

linus直下に書くことを推奨

# 将官方 Python 运行时用作父镜像
FROM python:3.8.2
# 将工作目录设置为 /pythonproject
WORKDIR ./pythonproject
# 将当前目录内容复制到位于 /pythonproject 中的容器中
ADD . .
# 安装 requirements.txt 中指定的任何所需软件包
RUN pip install -r requirements.txt
# 在容器启动时运行 tset.py
CMD ["python3", "./pythonproject/tset.py"]

ミラーの生成

Linux で、Dockerfile ファイルに cd します。

docker build -t cowsay .
详细信息:
docker build -t imagename Dockerfilepath 
# imagename:镜像名称,自定义
# Dockerfilepath:Dockerfile 所在文件夹名称,当前名录为 “.” 

ミラーを生成する

docker build -t imagename Dockerfilepath 

ミラーを実行します

docker run --rm cowsay
--rm : 跑完就删除(因为有时候container比较占空间)

ここでは、いくつかの docker コマンドの概要を示します。
docker image ls でイメージを一覧表示します
docker ps でコンテナー (実行中) を一覧表示します (-a を追加してすべてを一覧表示できます)
docker rm コンテナー ID コンテナーの削除
docker rmi ImageID イメージの削除
docker exec -it コンテナー ID bash に容器

IMAGE.tar の生成 (イメージのパッケージ化)

docker save f660ca2347c0 > image.tar
//输出镜像文件到tar文件中
660ca2347c0是Image的ID号,可以通过 docker image ls 查看

ここまでで、IMAGE.tar を取得しました
。次に、それをサーバーにアップロードして実行します。

2. サーバー部分

ファイルの転送 (非 SSH)

scp IMAGE.tar hostname@服务器地址: path

scpコマンドの説明

 ログインサーバー

ssh 账号@服务器地址

サーバーへのログイン方法

docker ロード tar ファイル

docker image load <IMAGE.tar

ドッカーラン!(もうすぐ終わりです!)

解凍後、docker イメージが表示されます。その後、docker run オペレーションを通常どおり実行してください。
(まだコマンドを投稿して見てください)

docker run --rm cowsay
//cowsay只是一个自定义名字

docker runを参照できます

おすすめ

転載: blog.csdn.net/weixin_41951954/article/details/130006410