Pythonアプリ用のDockerイメージの構築

最近、ユーザーが指定したURLからファイルをダウンロードして処理し、最終的にFTPサーバーにアップロードするWebスクレイパーに取り組んでいます。私がプロジェクトを始めたとき、私はプロジェクトを構築するためにいくつかのプログラミング言語を探求していました、そして私は結局Pythonを選びました。

すべてのPythonプロジェクトでは、ライブラリのセットをインストールする必要があり、私のものも例外ではありませんでした。ここでの落とし穴は、メイン環境に追加のライブラリまたは異なるライブラリバージョンをインストールすると、他のプロジェクトの依存関係が壊れる可能性があることです。そのため、Dockerコンテナー内にアプリをビルドしたかったので、他のプロジェクトを壊すことを心配する必要はありません。

グループからDockerコンテナーを構築することに焦点を当てたいので、Dockerとは何か、Dockerをインストールして環境を構成する方法については説明しません。

最初のステップは、ルートアプリディレクトリに「Dockerfile」という名前のファイルを作成し、それをお気に入りのエディターで開くことです(vscodeが好きです)。Dockerfileの構造は次のようになります。

FROM ubuntu:20.04 #Installs ubuntu 20.04 from Docker Hub
RUN apt-get update
RUN apt-get install python3 -y
RUN apt-get install python3-pip -y
RUN apt-get install vim -y
WORKDIR /home/{your-username}/apps/{your-app-name} #Declaring working directory in our container
COPY requirements.txt . #Copy requirements.txt to $WORKDIR
RUN pip3 install -r requirements.txt
COPY . . #Copy source files to $WORKDIR

図1.1。ソースファイルの構造

Dockerコンテナのビルドはほぼ終了しました。Dockerfilesの設定に満足したら、実際のコンテナーを作成する必要があります。これを行うには、次のコマンドを発行する必要があります({container-name}を実際のコンテナー名に変更することを忘れないでください)。

docker build — pull — rm -f“ Dockerfile” -t {container-name}:latest“。”

コンテナをインタラクティブに実行する場合は、次のコマンドを使用できます。

docker run — it {container-name}

実行が完了すると、新しくビルドしたコンテナへのシェルアクセスが許可されます。

以上でこの記事は終わりです。それがあなたにとって有益であったことを願っています、そして私は読んでくれてありがとう!

提案された投稿

Langchain を使用して ChatGPT プラグインを無料で実行する方法

Langchain を使用して ChatGPT プラグインを無料で実行する方法

ブラウザ、コード インタープリターなどの新しい強力な ChatGPT プラグインについては聞いたことがあるはずです。しかし、問題があります。プラグインへのアクセスは待機リストに制限されているため、多くの人がアクセスできません。

私が最もよく使用するコーディング リソース

私が最もよく使用するコーディング リソース

今週、毎日のメールリストのメンバーからメールを受け取りました。彼らは次のことを知りたかったのです。毎日、毎週、毎月どのリソースにアクセスしていますか? 素晴らしい質問です!私のワークフローと使用している主なリソースについての洞察を共有したいと思います。

関連記事

待ちの季節にできること(テクノロジー業界での最初の仕事に就くのを待っているとき)

待ちの季節にできること(テクノロジー業界での最初の仕事に就くのを待っているとき)

新しいキャリアへの転職は、一人でやろうとすると非常に困難になる可能性があります。あなたと同じ学習レベルにあり、同様の目標、粘り強さ、意欲を共有する責任パートナーを見つけることが重要です。

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

今日のペースが速く競争の激しい世界では、個人の成長、経済的安定、そして人生全体の満足度において、個人のキャリアが重要な役割を果たしています。しかし、多くの人は停滞と不満の絶え間ないサイクルに陥っており、職業生活が徐々に消耗していきます。

その脅威アーカイブ: Vol 7 ブラックバスタ

その脅威アーカイブ: Vol 7 ブラックバスタ

今日の相互接続された世界では、サイバー攻撃の脅威がかつてないほど蔓延しています。サイバー犯罪者や国家主体は常に脆弱性を悪用して貴重なデータを盗もうとしており、あらゆる規模の組織に重大なリスクをもたらしています。

安全な労働環境の構築

安全な労働環境の構築

「私が危険にさらされたとき、彼は私を守ってくれます。彼は私をテントの中に隠すでしょう。