DockerとDockerの機能的な深さは構成されています
Docker ComposeおよびVultr Containerレジストリを使用したマルチコンテナーフラスコアプリケーションをビルドDocker Composeを使用すると、ユーザーは単一の構成ファイルを使用してマルチコンテナーアプリケーションを実行および定義できます。複数のコンテナのセットアップと管理プロセスを簡素化し、アプリケーションの開発、テスト、展開が容易になります。この記事では、2つのコンテナを備えたフラスコアプリケーションを作成し、Vultr Container Registry(VCR)を使用してアプリケーションのDocker画像を管理し、Dockerのマルチコンテナー機能を使用して複数のコンテナを管理するようにします。
サンプルアプリケーションの作成次の手順では、サンプルアプリケーションを作成するように導きます。
Vultr Customer Portalを介してDocker Marketアプリケーションを使用して、Vultr Computeインスタンスを展開します。
-
-
-
-
mkdir flask-redis-example cd flask-redis-example
: - という名前の新しいファイルを作成します
app.py
nano app.py
次のコードを追加します: -
ファイルを保存して終了します。このフラスココードは、Redisデータベースに接続し、ルートURLにアクセスするたびにカウンターを増加させます。
from flask import Flask, render_template import redis app = Flask(__name__) redis_client = redis.Redis(host='redis', port=6379) @app.route('/') def hello(): count = redis_client.incr('hits') return render_template('index.html', count=count) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
-
sudo ufw allow 5000 sudo ufw reload
: - という名前の新しいファイルを作成します
requirements.txt
nano requirements.txt
次のパッケージを追加します: -
ファイルを保存して閉じます。
<code>flask redis</code>
-
flask-redis-example
mkdir static cd static
: という名前の新しいファイルを作成します
-
styles.css
nano styles.css
- ファイルを保存して終了します。
body { font-family: Arial, sans-serif; text-align: center; background-color: #f4f4f4; margin: 0; padding: 0; } h1 { color: #333; margin-top: 50px; } p { font-size: 18px; color: #666; }
ディレクトリに別のディレクトリを作成して入力してください:
-
flask-redis-example
mkdir templates cd templates
という名前の新しいファイルを作成します -
index.html
次のコードを追加します:nano index.html
ファイルを保存して終了します。 -
<!DOCTYPE html> <html> <head> <title>Flask App</title> <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}"> </head> <body> <h1>Hello, World!</h1> <p>I have been seen {{ count }} times.</p> </body> </html>
vultr container registryを使用
このセクションでは、Vultr Container Registryを作成し、Docker画像をレジストリにアップロードし、Docker ComposeファイルをセットアップしてFlaskおよびRedisデータベースのサービスをセットアップします。
バルトコンテナレジストリを展開します。
- ディレクトリでDockerマニフェストを作成します:
-
次の構成を追加します:
flask-redis-example
nano Dockerfile.flask
ファイルを保存して終了します。 -
FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY app.py . COPY static/ ./static/ COPY templates/ ./templates/ EXPOSE 5000 CMD ["python", "app.py"]
- バルトコンテナレジストリへのログイン:
docker build -t flask-app .
バルトコンテナレジストリの概要セクションに記載されている 、 - 、
を置き換えてください。
-
タグDocker画像:
mkdir flask-redis-example cd flask-redis-example
-
鏡をバルトコンテナレジストリに吐き出す:
nano app.py
docker画像を押した後、Vultr DashboardのVultr Containerレジストリの「リポジトリ」セクションに画像が存在することを確認します。
-
という名前の新しいファイルを作成しますdocker-compose.yaml
:from flask import Flask, render_template import redis app = Flask(__name__) redis_client = redis.Redis(host='redis', port=6379) @app.route('/') def hello(): count = redis_client.incr('hits') return render_template('index.html', count=count) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
ファイルを保存して終了します。上記のYAML構成では、2つのサービス
web
とredis
を定義します。web
サービスは、現在のディレクトリ(。)からフラスコのアプリケーションを構築し、コンテナのポート5000をホストのポート5000にマッピングします。また、web
サービスがredis
サービスに依存することも指定しています。redis
このサービスは、Docker Hubの公式Redis Dockerイメージを使用しています。 -
build dockerはファイルを構成します:
sudo ufw allow 5000 sudo ufw reload
ビルドプロセスが完了したら、http://
:5000のフラスコアプリケーションにアクセスしてください。ウェブサイトを複数回更新してみて、ページ訪問のカウントが増加するかどうかを観察してください。
バルトコンテナレジストリのその他の使用
- dockerを使用したVultr Containerレジストリ kubernetesを備えたバルトコンテナレジストリ
- vllmコンテナ画像をビルド
- llama.cppコンテナ画像をビルドします
- Pytorch Container Imageをビルドします
ベストプラクティス
- kep
- ファイルはよく整理されており、十分に文書化されています。
docker-compose.yaml
ホストディレクトリにバインディングする代わりに、名前付きボリュームを使用してデータを永続化します。 - 環境変数を使用して、パスワードやAPIキーなどの機密データを保存します。
- コンテナを管理するには、
- 、
docker-compose up
、docker-compose down
などのDocker Composeの組み込みコマンドを使用します。docker-compose ps
結論 この記事では、2つのコンテナを備えたフラスコアプリケーションを作成し、Vultr Containerレジストリを使用してアプリケーションのDocker画像を管理し、Dockerのマルチコンテナー機能を利用して複数のコンテナを管理しました。
この記事はVultrが後援しています。 Vultrは、世界最大のプライベートクラウドコンピューティングプラットフォームです。開発者の中でお気に入りのVultrは、185か国で150万人以上の顧客に柔軟でスケーラブルなグローバルクラウドコンピューティング、クラウドGPU、ベアメタル、クラウドストレージソリューションを提供しています。 Vultrの詳細以上がDockerとDockerの機能的な深さは構成されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Red Hatは、開発者プログラムに簡単にアクセスできるように設計された新しいセルフサービスプラットフォームを導入しました。RedHatEnterprise Linux for Business Developers Initiativeは、開発チームの構築、テスト、展開を支援することを目的としています。

ソフトウェア開発者は、AIツールを通じて毎週1日以上の仕事を節約していますが、新しい調査によると、他の重要な分野で時間を失っています。

今年の最初の6か月で、ランサムウェア攻撃は劇的に急増し、米国企業、中小企業(SMB)、および製造会社が特に影響を受けます。

MSPは2025年に幅広い困難に遭遇していますが、回復力があり、前進し続けます。これは、Auvikの2025年のITトレンドレポートからの重要なポイントです。

驚異的な数のエンジニアは、単に毎日のタスクを実行するためにセキュリティプロトコルを回避しています。多くの人は、会社を終了した後でもアクセスを保持し続けています。

Extrahopはシンガポールへの大幅な拡大を発表しました。APAC地域全体でネットワーク検出と対応(NDR)プラットフォームの需要の増加に対処することを目指しています。

Ingram Microは、広範なシステムの混乱を引き起こした主要なサイバー攻撃に続いてゆっくりと安定性を取り戻しています。最近のアップデートでは、システムを復元し、違反後に強化されたセキュリティ対策を導入していると述べました。

5月中旬の週末に、数学者の排他的な集まりが行われました。数学の最も著名な心の30人がカリフォルニア州バークレーに旅行しました。
