ホームページ >運用・保守 >Linuxの運用と保守 >Linux サーバー管理: Docker を使用して迅速な導入と拡張を行うにはどうすればよいですか?

Linux サーバー管理: Docker を使用して迅速な導入と拡張を行うにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-28 22:45:351407ブラウズ

Linux サーバー管理: Docker を使用して迅速な展開と拡張を行うにはどうすればよいですか?

はじめに:
クラウド コンピューティングとコンテナ化テクノロジーの発展に伴い、軽量の仮想化ツールとして Docker が多くの開発者や運用保守担当者にとって最初の選択肢となりました。この記事では、Docker を使用して Linux サーバー上で迅速な導入と拡張を行い、アプリケーションの運用効率と拡張性を向上させる方法を紹介します。

  1. Docker のインストール
    始める前に、まず Linux サーバーに Docker をインストールする必要があります。以下の手順に従ってインストールしてください:

ステップ 1: サーバー ソフトウェア パッケージを更新します

$ sudo apt-get update

ステップ 2: Docker の依存関係をインストールします

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

ステップ 3: Docker 公式を追加しますGPG キー

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

ステップ 4: Docker リポジトリの追加

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

ステップ 5: パッケージ インデックスを更新して Docker をインストール

$ sudo apt-get update
$ sudo apt-get install docker-ce
  1. Dockerfile を書き込む
    Docker の前に使用中、Docker イメージを構築する方法を定義する Dockerfile を作成する必要があります。以下は Dockerfile のサンプルです:
# 使用基础镜像
FROM ubuntu:latest

# 设置作者信息
MAINTAINER Your Name <your@email.com>

# 安装相关依赖
RUN apt-get update && apt-get install -y 
    python3 
    python3-pip

# 设置工作目录
WORKDIR /app

# 将应用程序添加到镜像中
COPY . /app

# 安装应用程序依赖
RUN pip3 install -r requirements.txt

# 设置容器启动命令
CMD ["python3", "app.py"]

上の例では、最新の Ubuntu イメージをベース イメージとして使用しました。次に、Python3 と pip3 ツールをインストールし、アプリケーション フォルダーをイメージにコピーしました。次に、アプリケーションの依存関係をインストールし、app.py ファイルを実行するようにコンテナー起動コマンドを設定します。

  1. イメージのビルド
    Dockerfile の作成が完了したら、次のコマンドを使用して Docker イメージをビルドできます:
$ docker build -t myapp:latest .

上記のコマンドでビルドされます。 Dockerfile の定義に基づく Docker イメージ myapp という名前で最新バージョンとしてマークされたイメージ。

  1. コンテナの実行
    イメージをビルドした後、次のコマンドを使用してコンテナを実行できます:
$ docker run -d -p 80:5000 myapp:latest

上記のコマンドは、コンテナの実行を開始します。バックグラウンド モードで、ホストのポート 80 をコンテナのポート 5000 にマップします。このようにして、ブラウザを介してホストのポート 80 にアプリケーションにアクセスできます。

  1. アプリケーションのスケーリング
    Docker を使用すると、アプリケーションのスケーリングが容易になり、複数のコンテナ インスタンスを通じてシステムの可用性とスループットを向上させることができます。簡単な実装例を次に示します。

まず、Docker Compose を使用してアプリケーションのアーキテクチャ全体を定義する必要があります。 docker-compose.yml というファイルを作成し、次の内容を追加します。

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    image: myapp:latest
    ports:
      - "80:5000"

  load_balancer:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    depends_on:
      - app

上の例では、app とload_balancer という 2 つのサービスを定義しました。アプリ サービスは、現在のディレクトリ内の Dockerfile に基づいてイメージを構築し、コンテナーのポート 5000 をホストのポート 80 にマップします。 load_balancer サービスは Nginx イメージを使用し、ホストのポート 80 をコンテナのポート 80 にマップします。

次に、nginx.conf という名前の構成ファイルを作成し、次の内容を追加する必要があります。

upstream app_servers {
    server app:5000;
}

server {
    listen 80;
    location / {
        proxy_pass http://app_servers;
    }
}

上記の構成ファイルは、app_servers という名前のアップストリームを定義し、proxy_pass を使用してリクエストをアプリサービス。

最後に、次のコマンドを使用してアプリケーションの複数のインスタンスを実行します。

$ docker-compose up --scale app=3

上記のコマンドは、3 つのアプリ コンテナ インスタンスを実行し、トラフィック分散のためのロード バランサとして Nginx を使用します。

結論:
Docker を使用すると、アプリケーションを迅速にデプロイし、簡単に拡張できます。 Dockerfile を作成してイメージ構築手順を定義し、docker run コマンドを使用してコンテナーを実行し、Docker Compose を使用して複数のコンテナーを管理することで、アプリケーションをより効率的に管理およびスケーリングできます。この記事が、Docker を使用して Linux サーバーにデプロイおよび拡張するのに役立つことを願っています。

以上がLinux サーバー管理: Docker を使用して迅速な導入と拡張を行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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