開発およびデプロイメントのために、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自体のDocker化されたフレームワークテストは、こちらの説明に従って実行できます。
MySQLを(mysql
として)実行している場合、次のようにphpMyAdminコンテナをスタックに追加できます。
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- '8888:80'
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
depends_on:
- mysql
タイプミスを見つけましたか、このページを改善する必要があると思いますか?
githubで編集 !
コメントするには、サインアップまたはログインしてください。