DocckerでCakePHPとphpMyAdminのローカル開発環境を整える
はじめに
今までAWSCloud9でローカル開発環境をやっていたのですが、実際の開発現場ではそもそもCloud9を使っていないこともあり、Dockerでの勉強もかねて構築しようと思いました。
今回はCakePHPとphpMyAdminの導入部分までやってみます。
Dockerの詳細は別で書くので今回はDockerででのように環境を構築するのかだけ書きます。
内容
1,Dockerのインストール
2, DockerComposeのインストール
3, 初期設定
4,実行立ち上げ
5,所感
※ dockerインストール,dockercomposeの手順はここでは省きますので下記を参考にやってみてください。
※CakePHPのymlファイルと一緒にphpMyAdminを記述していますが、うまくいかない場合は先にCakePHPをインストールしてから
phpAdminファイルを記述してください。
Dockerのインストール
Macの方
Ubuntuの方
Windowsの方
DockerComposeのインストール
初期設定
まずはこちらのリポジトリをクローンします。
git clone https://github.com/km42428/docker-cakephp3-template.git
そうしたら適当な場所にフォルダを作成し、そこにdocker-compose.ymlファイルを作成します。
version: '2' services: mysql: restart: always build: ./data/mysql/ volumes: - "./data/mysql/db:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: password MYSQL_USER: my_app MYSQL_PASSWORD: secret MYSQL_DATABASE: my_app TZ: "Asia/Tokyo" ports: - "3307:3306" phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=root - PMA_PASSWORD=password links: - mysql ports: - 8080:80 volumes: - "./phpmyadmin/sessions:/sessions" nginx: restart: always image: "nginx:mainline-alpine" ports: - "80:80" - "443:443" volumes: - "./data/nginx/conf:/etc/nginx/" - "./data/htdocs:/var/www/html" environment: TZ: "Asia/Tokyo" depends_on: - phpfpm links: - phpfpm phpfpm: restart: always build: ./data/phpfpm/ environment: TZ: "Asia/Tokyo" volumes: - "./data/htdocs:/var/www/html" depends_on: - mysql links: - mysql host: build: ./data/htdocs environment: TZ: "Asia/Tokyo" PRJ: "sample" volumes: - "./data/htdocs:/root" ports: - "8765:80" depends_on: - mysql - phpfpm links: - mysql - phpfpm
書いたらビルドします。
$ docker-compose build
正常にできていれば以下のイメージができます。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker-cakephp3-template_host latest 2a706bb934fa 44 seconds ago 465MB docker-cakephp3-template_phpfpm latest b5019579816a About a minute ago 114MB docker-cakephp3-template_mysql latest e2f4e50d4453 2 minutes ago 372MB
次にコンテナを立ち上げます。
$ docker-compose up -d
コンテナに入ります。
$ docker exec -it {コンテナID}/bin/sh
var/www/html直下にきたらあとはいつも通り、コンポーザーとCakePHPのプロジェクトをインストールします。
/var/www/html # curl -s https://getcomposer.org/installer | php /var/www/html # php composer.phar create-project --prefer-dist cakephp/app hogehoge
コンテナを抜けます。
/var/www/html # exit
次にCakePHPのプロジェクトに入ってconfig/app.phpを編集します。
`host`=>`loalhost`, ←mysql
実行環境の立ち上げ
$ docker-compose up -d
正常に実行されればローカル環境で確認できます。
CakePHPの初期画面
http://loaalhost:8765
phpMyAdminの画面
http://localhost:8080
実行終了コマンド
$docker-compose down
所感
初めてDockerでの環境構築をしたけど、思った以上に簡単にできました。 githubやdockerhubに既ににあるものを落とすだけなので、vagrantとvirtualBoxで一つ一つソフトウェアをインストールするよりも楽にできました! まだ学んでいる身ですが、Dockerをどんどん使っていきます!!
引用