検索
ホームページ運用・保守DockerDocker サービスでさまざまなディレクトリを使用する方法に焦点を当てる

Docker は、アプリケーションを迅速かつ効率的に構築、デプロイ、実行できる非常に人気のあるコンテナ化テクノロジです。 Docker サービスは、Docker クラスター管理で最も一般的に使用されるメカニズムの 1 つです。 Docker サービスを使用すると、ユーザーは複数の Docker コンテナを 1 つのサービスに結合して、高可用性、負荷分散、その他の目的を実現できます。この記事では、Docker サービスでさまざまなディレクトリを使用する方法に焦点を当てます。

Docker サービスとは何ですか?

Docker Service は Docker クラスター管理のメカニズムの 1 つで、複数の Docker コンテナーを 1 つのサービスに結合できます。 Docker Service は、高可用性、負荷分散、自動拡張などの機能を実装しており、ユーザーがサービスやアプリケーションを最適化するのに役立ちます。

Docker サービスは、レプリカやグローバルなど、さまざまなデプロイメント戦略をサポートしています。レプリカ ポリシーを使用する場合、ユーザーは起動するコンテナーの数を定義でき、Docker エンジンはクラスター全体にコンテナー インスタンスを自動的にデプロイおよび管理します。グローバル戦略を使用する場合、Docker エンジンはコンテナーのコピーを起動し、クラスター内の各ノードにデプロイします。

Docker サービスを使用するメリット

Docker サービスを使用すると多くのメリットが得られます。主なメリットをいくつか紹介します。

  • 高可用性: Docker サービスは簡単に実現できます。コンテナの高可用性により、ノードに障害が発生した場合でも、コンテナの自動バランシング機能により、新しいコンテナ インスタンスが他のノードで自動的に起動されます。
  • 負荷分散: Docker サービスを使用すると負荷分散を簡単に実現できるため、ユーザーのアプリケーションは負荷分散の問題に注意を払うことなく常に最適な状態になります。
  • 自動拡張: Docker サービスは自動拡張をサポートしており、ユーザーはコンテナーの数を調整するだけでアプリケーションを拡張できます。

Docker サービスはさまざまなディレクトリをどのように使用するのでしょうか?

Docker サービスは、デフォルトで、Dockerfile が配置されているディレクトリをコンテナー イメージのビルド コンテキストとして使用します。ただし、異なるディレクトリに異なるイメージをビルドする必要がある場合は、異なるビルド コンテキストを使用する必要があります。

以下では、さまざまなディレクトリを使用して Docker イメージを構築し、Docker サービスを使用してアプリケーションをデプロイする方法を紹介します。

  1. ディレクトリ構造の作成

まず、次のディレクトリ構造を作成します:

.
├── dockerfiles
│   ├── web1
│   │   ├── Dockerfile
│   │   └── index.html
│   └── web2
│       ├── Dockerfile
│       └── index.html
├── docker-compose.yml
└── services.yml

dockerfiles ディレクトリに、それぞれ web1 と web2 を作成しました。内容の。各ディレクトリには、Dockerfile ファイルとindex.html ファイルが含まれています。このうち、Dockerfile ファイルは Docker イメージの構築に使用され、index.html ファイルはコンテナーが正常に実行されているかどうかのテストに使用されます。

services.yml ファイルでは、web という名前のサービスを定義します。これは、2 つのコンテナー web1 と web2 をデプロイするために使用されます。

  1. Dockerfile の作成

この例では、web1 と web2 にそれぞれ Dockerfile を作成しました。それらは次のとおりです:

web1 ディレクトリの Dockerfile ファイル:

FROM nginx
COPY index.html /usr/share/nginx/html

web2 ディレクトリの Dockerfile ファイル:

FROM nginx
WORKDIR /usr/share/nginx/html
COPY index.html .

ここでは、異なる Dockerfile ファイルを使用し、別の Dockerfile ファイルを使用します。各ファイルにコンテキストを構築します。 web1 の Dockerfile は COPY ディレクティブを使用し、index.html ファイルを指定されたビルド コンテキストからコンテナーにコピーします。 web2 Dockerfile は、WORKDIR 命令と COPY 命令を使用します。これにより、作業ディレクトリが /usr/share/nginx/html に設定され、index.html ファイルがビルド コンテキストからコンテナにコピーされます。

  1. docker-compose.yml ファイルの作成

サービスを定義するために、引き続き docker-compose.yml ファイルを使用します。ファイルの内容は次のとおりです。

version: '3.7'

services:
  web1:
    build:
      context: ./dockerfiles/web1
    image: web1
    deploy:
      replicas: 2
    ports:
      - 8081:80

  web2:
    build:
      context: ./dockerfiles/web2
    image: web2
    deploy:
      replicas: 3
    ports:
      - 8082:80

docker-compose.yml ファイルでは、web1 と web2 という 2 つのサービスを定義し、それぞれ異なるビルド コンテキストを使用します。同時に、各サービスのレプリカとポートの属性も指定して、コンテナーの数とポート マッピングを制御します。

  1. サービスをデプロイする

最後に、Docker Stack コマンドを使用してサービスをデプロイします。

$ docker stack deploy -c services.yml myapp

コマンドの実行が完了したら、次のことができます。次のコマンドを使用してサービスのステータスを表示します:

$ docker stack ps myapp
  1. サービスのテスト

サービスの展開が完了したら、ブラウザを使用して次の URL にアクセスしてテストできます。 web1 サービスと web2 サービスが正常に実行されているかどうか:

web1 サービス:

http://localhost:8081

web2 サービス:

http://localhost:8082

すべてが正常であれば、index.html ファイルの内容が表示されます。各サービスごとに。

概要

この記事では、Docker サービスでコンテナーを構築するためにさまざまなディレクトリを使用する方法を紹介しました。異なる Dockerfile を使用して 2 つのサービスを作成し、docker-compose.yml ファイルでサービスのビルド コンテキストを定義しました。最後に、サービスをデプロイし、サービスが適切に実行されていることをテストしました。これにより、Docker サービスを使用するユーザーが別のディレクトリにコンテナー イメージを構築する便利な方法が提供されます。

以上がDocker サービスでさまざまなディレクトリを使用する方法に焦点を当てるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Docker in Action:実際の例とユースケースDocker in Action:実際の例とユースケースApr 24, 2025 am 12:10 AM

実際のプロジェクトのDockerのアプリケーションシナリオには、展開の簡素化、マルチコンテナーアプリケーションの管理、パフォーマンスの最適化が含まれます。 1.Dockerは、dockerfileを使用してnode.jsアプリケーションを展開するなど、アプリケーションの展開を簡素化します。 2。DockerComposeは、マイクロサービスアーキテクチャのWebやデータベースサービスなどのマルチコンテナーアプリケーションを管理しています。 3.パフォーマンス最適化は、マルチステージ構造を使用して画像サイズを縮小し、健康チェックを通じてコン​​テナのステータスを監視します。

Docker vs. Kubernetes:ユースケースとシナリオDocker vs. Kubernetes:ユースケースとシナリオApr 23, 2025 am 12:11 AM

小さなプロジェクトまたは開発環境でDockerを選択し、大規模なプロジェクトまたは生産環境でKubernetesを選択します。 1.ドッカーは、迅速な反復とテストに適しています。2。Kubernetesは、大規模なアプリケーションの管理と拡張に適した強力なコンテナオーケストレーション機能を提供します。

LinuxのDocker:Linuxシステムのコンテナ化LinuxのDocker:Linuxシステムのコンテナ化Apr 22, 2025 am 12:03 AM

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

Docker:コンテナ化ツール、Kubernetes:オーケストレーターDocker:コンテナ化ツール、Kubernetes:オーケストレーターApr 21, 2025 am 12:01 AM

Dockerはコンテナ化ツールであり、Kubernetesはコンテナオーケストレーションツールです。 1. Dockerパッケージアプリケーションとその依存関係は、Docker対応環境で実行できるコンテナに依存します。 2。Kubernetesはこれらのコンテナを管理し、自動展開、スケーリング、管理を実装し、アプリケーションを効率的に実行します。

Dockerの目的:アプリケーションの展開を簡素化しますDockerの目的:アプリケーションの展開を簡素化しますApr 20, 2025 am 12:09 AM

Dockerの目的は、アプリケーションの展開を簡素化し、コンテナ化技術を通じてさまざまな環境でアプリケーションが一貫して実行されるようにすることです。 1)Dockerは、アプリケーションと依存関係をコンテナにパッケージ化することにより、環境の違いの問題を解決します。 2)DockerFileを使用して画像を作成して、アプリケーションがどこでも一貫して実行されることを確認します。 3)Dockerの作業原則は画像とコンテナに基づいており、Linuxカーネルの名前空間とコントロールグループを使用して、分離とリソース管理を実現します。 4)基本的な使用法には、DockerHubからの画像の引き込みと実行が含まれます。高度な使用法には、DockerComposeを使用したマルチコンテナーアプリケーションの管理が含まれます。 5)画像構築の故障やコンテナの障害などの一般的なエラーは、ログやネットワーク構成を介してデバッグできます。 6)パフォーマンス最適化構造

LinuxとDocker:さまざまなLinux分布のDockerLinuxとDocker:さまざまなLinux分布のDockerApr 19, 2025 am 12:10 AM

Ubuntu、Centos、およびDebianにDockerをインストールして使用する方法は異なります。 1)ubuntu:aptパッケージマネージャーを使用します。コマンドはsudoapt-getupdate && sudoapt-getinstalldocker.ioです。 2)Centos:Yum Package Managerを使用すると、Dockerリポジトリを追加する必要があります。コマンドは、sudoyumininstall-yyum-utils && sudoyum-config-manager - add-repohttps://download.docker.com/linです

Mastering Docker:Linuxユーザー向けガイドMastering Docker:Linuxユーザー向けガイドApr 18, 2025 am 12:08 AM

LinuxでDockerを使用すると、開発効率が向上し、アプリケーションの展開を簡素化できます。 1)Ubuntu画像を引く:dockerpullubuntu。 2)ubuntuコンテナを実行:Dockerrun-itubuntu/bin/bash。 3)nginxを含むDockerFileを作成します:fromubuntu; runapt-getupdate && apt-getinstall-ynginx; expose80。 4)画像の作成:dockerbuild-tmy-nginx。 5)コンテナの実行:Dockerrun-D-P8080:80

LinuxのDocker:アプリケーションとユースケースLinuxのDocker:アプリケーションとユースケースApr 17, 2025 am 12:10 AM

Dockerは、Linuxのアプリケーションの展開と管理を簡素化します。 1)Dockerは、アプリケーションとその依存関係を軽量でポータブルコンテナにパッケージ化するコンテナ化されたプラットフォームです。 2)Linuxでは、DockerはCgroupと名前空間を使用して、コンテナの分離とリソース管理を実装します。 3)基本的な使用には、画像の引き込みと実行容器が含まれます。 DockerComposeなどの高度な使用は、マルチコンテナーアプリケーションを定義できます。 4)一般的に使用されるDockerLogsとDockerexecコマンドをデバッグします。 5)パフォーマンスの最適化は、マルチステージの構造により画像サイズを縮小することができ、DockerFileをシンプルに保つことがベストプラクティスです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境