ホームページ  >  記事  >  バックエンド開発  >  PHP + MySQL を使用して Docker 化されたアプリケーションを開発するにはどうすればよいですか?

PHP + MySQL を使用して Docker 化されたアプリケーションを開発するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-07-25 08:46:481243ブラウズ
PHP + MySQL を使用して Docker 化されたアプリケーションを開発するにはどうすればよいですか?
プログラム開発では、1 つのテクノロジーだけを知っているだけでは十分ではありません。多くのアプリケーションの開発には複数のテクノロジーを使用する必要があります。今日は、LAMP テクノロジー スタックに基づいて、Docker イメージを使用して、Linux + Apache + MySQL + PHP アプリケーションを構築する方法について説明します。
1. PHP 開発アプリケーションコンテナを作成します
まず、プロジェクトのベースイメージとして公式 PHP イメージを選択します。
dockerfile
FROMdaocloud.io/php:5.6-apache
次に、公式の PHP イメージ組み込みコマンド docker-php-ext-install を使用して、PHP の MySQL 拡張機能の依存関係をインストールします。
dockerfile
RUNdocker-php-ext-install pdo_mysql
依存関係パッケージは docker-php-ext-install を通じてインストールされます。依存関係パッケージに構成パラメーターが必要な場合は、docker-php-ext-configure コマンドを使用します。
pdo_mysql PHP 拡張機能をインストールします。
次に、コードをターゲットディレクトリにコピーします。
dockerfile
COPY ./var/www/html/
公開ポートと起動コマンドはベースイメージで宣言されているため、ここでは省略できます。
この時点で、PHP アプリケーション開発を含む Docker コンテナの準備が整いました。 PHP コードでデータベースにアクセスするために必要なパラメーターは、環境変数を読み取ることによって宣言されます。
```php
$serverName =env("MYSQL_PORT_3306_TCP_ADDR", "localhost");
$databaseName = env("MYSQL_INSTANCE_NAME","homestead");
$username = env(" MYSQL_USERNAME","homestead");
$password =env("MYSQL_PASSWORD", "secret");
/**
* 環境変数を取得します
* @param $key
* @param null$default
* @returnnull|string
*/
functionenv($key, $default = null)
{
$value =getenv($key);
if ($value ===false) {
return $default;
www.maiziedu.com
}
return $value;
}
```
なぜこんなことをするのですか? Docker アプリケーション開発のベスト プラクティスでは、通常、ステートフル データ サービスは別のコンテナーで実行され、アプリケーション コンテナーとデータ コンテナーはコンテナー固有のリンク メカニズムを通じて動的に接続されるためです。
2. ローカル MySQL データ コンテナをバインドする
まず、MySQL コンテナを作成する必要があります。
bash
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:5.5
その後、Docker コンテナ間のリンクメカニズムを通じて、MySQL のデフォルトポートは変更される (3306) アプリケーション コンテナに公開されます。
bash
docker run --name some-app --link some-mysql:mysql -d app-that-uses-mysql
3. クラウド MySQL データ サービスをバインドします
ローカルで作成する場合と比較して、クラウドでの MySQL データ サービスの作成とバインドがより簡単になります。
a. GitHub で DaoCloud/php-apache-mysql-sample をフォークするか、独自のコード リポジトリを追加します。
b. DaoCloud ユーザーとして登録します。
c. DaoCloudの「コンソール」で「コードビルド」を選択します。
d. 新しいプロジェクトを作成し、コード ソースを選択して、イメージのビルドを開始します。
e. 「サービス統合」で MySQL サービス インスタンスを作成します。
f. 構築されたアプリケーション イメージを MySQL サービス インスタンスに関連付け、クラウドにデプロイします。
上記は、PHP + MySQL を介して Docker アプリケーションを実装するための具体的な手順です。まだ不明な場合は、自分で試してみることができます。



推奨学習: php ビデオチュートリアル http://www.maiziedu.com/course/php/



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