目次[-]
Dockerはオープンソースのアプリケーションコンテナエンジンであり、開発者はアプリケーションと依存関係をポータブルなコンテナにパッケージ化できます。このコンテナは、一般的なLinuxマシンにデプロイすることで仮想化を実現します。2013年のリリース以来、GitHub上で活発に利用されているコードベース、Red HatのRHEL 6.5へのDockerサポートの統合、そしてGoogleのCompute EngineがDockerをサポートしていることからも、その人気は明らかです。
この記事では、Docker Machine (システム構成) と Docker Compose (マルチコンテナ アプリケーションのアセンブリ) を使用して、Postgres、Redis、および Django を組み合わせたプロジェクトを開発するためのスタックを提供する方法について詳しく説明します。 *** では、このスタックは次のサービスごとに個別のコンテナーで構成されます。
ローカル設定Dockerバージョン1.6.1を使用し、Docker Compose 1.2.0を使用してマルチコンテナアプリケーションのオーケストレーションを行い、Docker Machine 0.2.0を使用してローカルおよびクラウドのDockerホストを作成します。以下の手順に従ってDocker ComposeとDocker Machineをそれぞれインストールし、インストール結果をテストします。
次に、
これでコンテナを実行する準備が整いました... #p# DockerマシンDocker Machine を起動するには、次のコマンドを実行します。
`create` コマンドは、新しい Machine の「開発環境」を構築します。基本的には、Boot2Docker をダウンロードし、VM の実行を開始します。開発環境では、Docker を指定するだけです。
現在実行中のマシンを表示するには、次のコマンドを実行します。
次に、Django、Postgres、Redis のコンテナを起動して実行します。 Dockerコンポーズdocker-compose.yml ファイルを見てみましょう。
ここでは、Web、Nginx、Postgres、Redis、Data の 5 つのサービスを定義します。
次に、コンテナを実行し、イメージをビルドして、サービスを開始します。
最初に実行するには多少時間がかかるため、コーヒーを飲んだり散歩に出かけたりする時間ができます。その後、Docker キャッシュからより高速なバージョンをビルドできます。 サービスが起動したら、データベースの移行を作成する必要があります。
`--docker-machine ip--` コマンドを使用して Docker Machine の IP アドレスを取得し、その IP アドレスをブラウザに入力します。 上記の画像が表示されたら、ページを更新すると更新されているはずです。基本的には、RedisのINCRを使って処理済みのリクエストごとにインクリメントします。詳しくは、 #p# 同様に、これにより 5 つのサービスが作成され、すべて異なるコンテナーで実行されます。
Web サービスで使用できる環境変数を確認するには、次のコマンドを実行します。
ログを表示するには、次のコマンドを実行します。
Postgres Shell にアクセスすることもできます。これは、ユーザー/ロールとポート転送をホスト環境に追加して、docker-compose.yml ファイル経由でデータベースをすでに構成しているためです。
デプロイする準備はできましたか? まず、 展開するアプリケーションをローカルで実行するのと同じように、全く同じDocker Machine環境を提供するクラウドホスティングサービスプロバイダーにプッシュできるようになりました。それでは、Digital Oceanにデプロイしてみましょう。 Digital Ocean に登録後、個人アクセストークンを生成します。その後、以下のコマンドを実行してください。
ドロップレットをデプロイし、新しい Docker Machine の本番環境をセットアップするには数分かかります。
現在、ローカルに 1 台、Digital Ocean 上に 1 台の 2 台のマシンが稼働しています。
マシンをアクティブ化し、Docker 環境をシェルにロードするように production を構成します。
Djangoアプリケーションをクラウドで再構築してみましょう。今回は、コンテナ内にインストールする必要のない、少し異なるDocker Composeファイルを使用します。なぜでしょうか?コンテナはローカル開発に最適であり、「Web」ディレクトリ内のローカルコードを更新すれば、その変更がすぐにコンテナに反映されるからです。本番環境では、これは明らかに不要です。
Digital Oceanアカウントに関連付けられたIPアドレスを取得し、ブラウザで確認してください。すべてがうまくいけば、アプリケーションが実行されるはずです。 |
Docker コンポーネントを使用して Django プロジェクトを開発するにはどうすればよいですか?
関連するおすすめ記事
-
Microsoft Azure Managed Grafana が完全に利用可能になり、インフラストラクチャの潜在的な技術的問題を綿密に監視できるようになりました。
-
-
Apple はオープンソース プロジェクト CUPS の開発を断念し、OpenPrinting がその作業を引き継ぐことになります。
-
NetEase は、オープンソース ゲーム サーバー フレームワーク Pomelo を正式にリリースしました。
-
フロントエンド開発用のオープンソースのドラッグ アンド ドロップ ソート ライブラリのコレクション。セットアップが簡単になります。
-
9 つの主要なオープンソース クラウド管理プラットフォームがここに保存されています。