クラウド コンピューティングとコンテナ テクノロジの急速な発展により、Docker はアプリケーションを構築、デプロイ、管理するための最も一般的な方法の 1 つになりました。ソフトウェアの開発と展開に関して、Docker は開発プロセスを効果的に最適化できる、軽量でポータブル、再利用可能なソリューションを提供します。
ThinkPHP6 では、開発者は Docker テクノロジーを使用して、開発プロセスと展開プロセスを最適化できます。
Docker の概要
Docker は、開発者がアプリケーションをコンテナとして構築、デプロイ、実行できるオープン ソース プロジェクトです。さらに、これらすべてのコンテナーは同じホスト上で実行でき、ソフトウェア アプリケーションと、それらが依存するライブラリ、ファイル、その他のリソースを分離します。
Docker の 4 つの重要な概念:
ThinkPHP6 と Docker
Docker テクノロジーを開発に使用する場合、Docker イメージを使用して環境を迅速に構築およびデプロイできます。
Docker を使用して ThinkPHP6 を実行するには、まず実行環境を準備し、次にデバッグ環境イメージを構築する必要があります。
次のファイルを使用して、使用可能で優れた Dockerfile ファイルを作成できます:
FROM php:7.4-fpm RUN apt-get update && apt-get install -y libzip-dev zip && docker-php-ext-install zip && pecl install redis && docker-php-ext-enable redis && docker-php-ext-configure pdo_mysql && docker-php-ext-install pdo_mysql && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php --install-dir=/usr/local/bin --filename=composer && php -r "unlink('composer-setup.php');" WORKDIR /app EXPOSE 80 CMD [ "php", "think", "run"]
上記の Dockerfile には、必要な依存関係と PHP のいくつかの拡張機能が含まれており、イメージを構築するときに使用します。これらのコンポーネントを画像に追加します。
次に、現在のプロジェクトに docker-compose.yml ファイルを作成し、php サービスを設定します。
version: '3' services: web: image: web extra_hosts: - "host.docker.internal:host-gateway" #用于解决无法访问Docker内端口号问题 ports: - "80:80" # Docker容器端口 volumes: - .:/app # 文件映射,即代码共享 depends_on: - db # 依赖db服务,可根据实际情况调整或删除 db: image: mysql:5.7 ports: - "3306:3306" # MySql端口映射 environment: MYSQL_ROOT_PASSWORD: root # MySql密码 MYSQL_DATABASE: app # 数据库名称 MYSQL_USER: app # 用户名 MYSQL_PASSWORD: app # 用户密码 volumes: - ./var/mysql:/var/lib/mysql # 数据存放目录
現在のディレクトリをプロジェクト ディレクトリに変更し、ターミナルで次のコマンドを実行します。
# 构建和启动 Docker 镜像 docker-compose up -d --build # 关闭 Docker 镜像 docker-compose down # 进入 Docker 容器的工作目录 docker exec -it container_name /bin/bash
概要
ThinkPHP6 It を使用して、Docker を使用してアプリケーションをデプロイおよび実行します。開発効率の向上と複数端末への互換性の確保が可能です。時間が経つにつれて、Docker を使用してアプリケーションを構築およびデプロイすることがトレンドになると私は信じています。
ただし、開発とデプロイメントに Docker を使用する場合は、Docker のインストールと使用、Docker イメージ、Docker コンテナーなどの概念を含む、Docker についての一定の理解が必要であることにも注意してください。さらに、アプリケーションのセキュリティ、安定性、信頼性を確保するには、適切なコーディング手法を使用する必要があります。
以上がThinkPHP6 での Docker テクノロジーの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。