forked from yiisoft/yii2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs/guide-ja/tutorial-docker.md added [ci skip] (yiisoft#16024)
- Loading branch information
Showing
1 changed file
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
Yii と Docker | ||
============= | ||
|
||
開発および配備の際に Yii アプリケーションを Docker コンテナとして実行することが出来ます。 | ||
コンテナは隔絶された軽量の仮想マシンのようなもので、そのサービスをホストのポートにマップします。 | ||
例えば、コンテナ内の 80 番ポートにあるウェブ・サーバが(ローカル)ホストの 8888 番で利用できます。 | ||
|
||
コンテナによって、開発用コンピュータと実運用サーバでソフトウェアのバージョンを全く同一にすること、迅速な配備、開発時におけるマルチ・サーバ・アーキテクチャのシミュレーションなど、数多くの問題を解決することが出来ます。 | ||
|
||
Docker コンテナの詳細については、[docker.com](https://www.docker.com/what-docker) を参照して下さい。 | ||
|
||
## 必要なもの | ||
|
||
- `docker` | ||
- `docker-compose` | ||
|
||
[ダウンロード・ページ](https://www.docker.com/community-edition) で 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 を使って、データベースやキャッシュなど、アプリケーションに必要な全てのサービスを設定して管理することが出来ます。 | ||
|
||
## リソース | ||
|
||
- Yii のための PHP ベースのイメージが [yii2-docker](https://github.com/yiisoft/yii2-docker) にあります | ||
- [yii2-app-basic](https://github.com/yiisoft/yii2-app-basic#install-with-docker) のための Docker サポート | ||
- [yii2-app-advanced](https://github.com/yiisoft/yii2-app-advanced/pull/347) のための Docker サポートは開発中です | ||
|
||
## 使用方法 | ||
|
||
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 install を実行 | ||
|
||
docker-compose exec php bash | ||
|
||
*実行中の* `php` サービスの中で bash を実行 | ||
|
||
|
||
## Advanced topics | ||
|
||
### Yii フレームワークのテスト | ||
|
||
[ここ](https://github.com/yiisoft/yii2/blob/master/tests/README.md#dockerized-testing) で説明されているように、Yii 自体に対する Docker を使ったフレームワーク・テストを実行することが出来ます。 | ||
|
||
### データベース管理ツール | ||
|
||
MySQL を (`mysql`) として実行するときは、以下のようにして phpMyAdmin コンテナをスタックに追加することが出来ます。 | ||
``` | ||
phpmyadmin: | ||
image: phpmyadmin/phpmyadmin | ||
ports: | ||
- '8888:80' | ||
environment: | ||
- PMA_ARBITRARY=1 | ||
- PMA_HOST=mysql | ||
depends_on: | ||
- mysql | ||
``` |