4 フォロワー

YiiとDocker

開発およびデプロイメントのために、YiiアプリケーションはDockerコンテナとして実行できます。コンテナは軽量で隔離された仮想マシンのようなもので、そのサービスをホストのポートにマッピングします。つまり、ポート80上のコンテナ内のWebサーバーは、あなた(ローカル)ホストのポート8888で使用できます。

コンテナは、開発者のコンピュータとサーバーで同一のソフトウェアバージョンを持つこと、迅速なデプロイメント、または開発中にマルチサーバーアーキテクチャをシミュレートするなど、多くの問題を解決できます。

Dockerコンテナの詳細については、docker.comをご覧ください。

要件

  • docker
  • docker-compose

Dockerツールを入手するには、ダウンロードページをご覧ください。

インストール

インストール後、docker psを実行すると、次のような出力が表示されます。

CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS

これは、Dockerデーモンが起動して実行されていることを意味します。

さらに、docker-compose versionを実行すると、次のような出力が表示されます。

docker-compose version 1.20.0, build unknown
docker-py version: 3.1.3
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017

Composeを使用すると、データベースやキャッシングなど、アプリケーションに必要なすべてのサービスを構成および管理できます。

リソース

使い方

Dockerの基本的なコマンドは次のとおりです。

docker-compose up -d

スタック内のすべてのサービスをバックグラウンドで起動します

docker-compose ps

実行中のサービスを一覧表示します

docker-compose logs -f

すべてのサービスのログを継続的に表示します

docker-compose stop

スタック内のすべてのサービスを正常に停止します

docker-compose kill

スタック内のすべてのサービスを即座に停止します

docker-compose down -v

すべてのサービスを停止して削除します。ホストボリュームを使用していない場合は、データ損失に注意してください

コンテナでコマンドを実行するには

docker-compose run --rm php composer install

新しいコンテナでcomposerインストールを実行します

docker-compose exec php bash

実行中のphpサービスでbashを実行します

高度なトピック

Yiiフレームワークのテスト

Yii自体のDocker化されたフレームワークテストは、こちらの説明に従って実行できます。

データベース管理ツール

MySQLを(mysqlとして)実行している場合、次のようにphpMyAdminコンテナをスタックに追加できます。

    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        ports:
            - '8888:80'
        environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=mysql
        depends_on:
            - mysql

タイプミスを見つけましたか、このページを改善する必要があると思いますか?
githubで編集 !