Skip to content

Commit

Permalink
docs/guide-ja/tutorial-docker.md added [ci skip] (yiisoft#16024)
Browse files Browse the repository at this point in the history
  • Loading branch information
softark authored and samdark committed Apr 2, 2018
1 parent 972d427 commit eb19841
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions docs/guide-ja/tutorial-docker.md
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
```

0 comments on commit eb19841

Please sign in to comment.