ホームページ  >  記事  >  運用・保守  >  Docker を使用して Symfony をデプロイする: すぐに開発を始めましょう

Docker を使用して Symfony をデプロイする: すぐに開発を始めましょう

王林
王林オリジナル
2023-10-20 12:19:531331ブラウズ

Docker を使用して Symfony をデプロイする: すぐに開発を始めましょう

Docker を使用した Symfony のデプロイ: すぐに開発を開始する

はじめに:
クラウド コンピューティングとコンテナ化テクノロジの急速な発展により、Docker は開発者デプロイメントと 1 つの開発者デプロイメントになりました。アプリケーションを管理するための頼りになるツールの一部。 Symfony は人気のある PHP フレームワークであり、Docker を通じてデプロイすることもできるため、開発とデプロイのプロセスが大幅に簡素化されます。この記事では、Docker を使用して Symfony アプリケーションをデプロイする方法を紹介し、具体的なコード例を示します。

ステップ 1: Docker と Docker Compose をインストールする
まず、ローカル マシンに Docker と Docker Compose をインストールする必要があります。 Docker のインストール手順は公式 Web サイトに記載されており、オペレーティング システムに応じてインストールする必要があります。 Docker Compose は、pip コマンドを使用してインストールできます。たとえば、pip install docker-compose を実行します。

ステップ 2: Symfony アプリケーションを作成する
Docker と Docker Compose をインストールした後、新しい Symfony アプリケーションを作成できます。次のコマンドを使用して、新しい Symfony プロジェクトを作成します:

docker run --rm -v $(pwd):/app composer create-project symfony/website-skeleton my-project

このコマンドは、現在のディレクトリに my-project という名前の Symfony アプリケーションを作成します。

ステップ 3: Docker Compose ファイルを作成する
次に、アプリケーションのサービスと依存関係を定義するために Docker Compose ファイルを作成する必要があります。プロジェクトのルート ディレクトリに docker-compose.yml という名前のファイルを作成し、次の内容を追加します。

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8000:8000
    volumes:
      - .:/app
    working_dir: /app
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=my_database

この Docker Compose ファイルは 2 つのサービスを定義します。1 つは Symfony アプリケーション プログラムで、もう 1 つは Symfony アプリケーション プログラムです。もう 1 つは MySQL データベースです。 Symfony サービスはカスタム Dockerfile を使用してイメージを構築し、ポート 8000 をホストのポート 8000 にマップします。 MySQL サービスは公式の MySQL 5.7 イメージを使用し、root パスワードとデータベース名を設定します。

ステップ 4: Dockerfile を作成する
Symfony アプリケーションの Docker イメージを構築するには、Dockerfile を作成する必要があります。プロジェクトのルート ディレクトリに Dockerfile という名前のファイルを作成し、次の内容を追加します。

FROM php:7.4-apache

RUN apt-get update && apt-get install -y 
    git 
    unzip 
    libonig-dev 
    libxml2-dev

RUN docker-php-ext-install pdo_mysql mbstring xml

COPY . /var/www/html

WORKDIR /var/www/html

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install --no-interaction --optimize-autoloader

RUN chown -R www-data:www-data /var/www/html

この Dockerfile は、公式の PHP 7.4 イメージをベース イメージとして使用し、必要な依存関係をいくつかインストールします。次に、Symfony アプリケーションのコードをコンテナーの指定されたディレクトリにコピーし、Composer を使用してアプリケーションの依存関係をインストールします。最後に、Apache サーバーのドキュメント ルートを Symfony アプリケーションのディレクトリに設定し、すべてのファイルのアクセス許可を Apache によって書き込み可能に変更します。

ステップ 5: コンテナーを構築して実行する
すべての準備ができたら、Docker Compose を使用してコンテナーを構築して実行できます。プロジェクトのルート ディレクトリで次のコマンドを実行します:

docker-compose up -d

このコマンドは、Symfony アプリケーションの Docker イメージを自動的に構築し、2 つのコンテナを作成して実行します。1 つは Symfony アプリケーション コンテナで、もう 1 つは MySQL です。データベースコンテナ。これで、アプリケーションは localhost:8000 経由でアクセスできるようになりました。

結論:
Docker を使用して Symfony アプリケーションをデプロイすることで、開発とデプロイのプロセスを迅速に開始し、ローカル環境への依存を回避できます。 Docker Compose を使用してサービスと依存関係を定義すると、開発とデプロイのプロセス全体がより合理化され、信頼性が高くなります。この記事で提供されているコード例が、読者の理解を深め、Docker を使用して Symfony アプリケーションをデプロイするのに役立つことを願っています。

以上がDocker を使用して Symfony をデプロイする: すぐに開発を始めましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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