とりあえず、やってみる。

よくわからんけど、やってみる。とりあえず、やってみる。

Laradockで環境構築してみた🔰

お久のおはようございます😊まおです🌼


いろいろ闇雲に活動してたら放置してました...!

その「いろいろ」を自分のために備忘録として書きに来ました!

OCJP Gold以降の動きをざっくり...💁‍♀️

  • 5/26:LPIC Level1 取得🎖
  • 6/13:ITパスポート取得🎖
  • 6〜7月:転職活動🏃‍♀️
  • 先日:Docker使いを目指して環境構築💻


こんなところかな🤔

ちなみに副賞として...

  • ボーナスアップ🎉
  • 社員表彰される🎉

とかありました!笑
この辺を足しにして、そろそろMac買いたい...💻笑
開発環境作るのにやっぱりWindowsは罠だらけだった😅笑


時系列順にしたいと思いつつも、
忘れそうなんで、今回は先に環境構築について書く📝


Laradockで環境構築


ざっくりやること
WindowsのパソコンにCodeIgniter(PHPフレームワーク)の開発環境を構築する。

    1. Vagrantで仮想環境(OS:Ubuntu)を作る
    1. 仮想環境に必要なツールを入れる
    1. 仮想環境にLaradock, CodeIgniterを入れる
    1. Dockerで必要なツールを起動


イメージとしてはこんな感じ。
f:id:tonamao:20190730225002p:plain
自分のWindowsのパソコン(ホストOS)に
仮想環境としてUbuntu(ゲストOS)を立てて
その中にCodeIgniterの開発環境を作る、ということ。


動作環境

ツール バージョン
OS Windows10 64ビット
VirtualBox 5.1.38
Vagrant 2.2.5
Ubuntu 18.04.2
Docker 19.03.1
docker-compose 1.24.0



1. Vagrantで仮想環境を作る


パソコンにVirtualBoxをインストール

  • 仮想環境を作ってくれるソフトウェア

VirtualBoxはこちら
https://www.virtualbox.org/


パソコンにVagrantをインストール

Vagrantはこちら
https://www.vagrantup.com/downloads.html

VagrantUbuntuの仮想環境作る

vagrant init bento/ubuntu-18.04


Vagrantで仮想環境起動

vagrant up


Vagrantfileを書き換え
下記の行のコメントアウト("#")を外す

config.vm.network "forwarded_port", guest: 80, host: 8080


Vagrantの再起動

vagrant reload


Vagrantで仮想環境に接続

vagrant ssh



2. 仮想環境に必要なツールを入れる


ここからは仮想環境(今回はUbuntu)の中での話。
参考↓↓↓(参考URL先のまんまをやりました。)

qiita.com


リポジトリをアップデートを

sudo apt update


HTTPS経由でやりとり出来るパッケージをインストール

sudo apt install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     software-properties-common


Dockerの公式GPG keyを追加する

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


リポジトリ(stable)追加

sudo add-apt-repository \
     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
     $(lsb_release -cs) \
     stable"


再度aptのアップデート

sudo apt update


Dockerのインストール

sudo apt install -y docker-ce


sudoなしでdocker使えるようにする

権限確認:cat /etc/group | grep docker
権限追加:sudo gpasswd -a {ユーザ名} docker
※{ユーザ名}は、whoamiコマンドを打って出た名前を入れればOK!

sudo chmod 666 /var/run/docker.sock


これで
sudo docker psと打たなくても
docker psでプロセス確認ができる!

docker-composeをインストール

export compose='1.21.1'

sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose`

権限追加:sudo chmod 0755 /usr/local/bin/docker-compose
権限確認:docker-compose -v


Gitをインストール

sudo apt install git



3. 仮想環境にLaradock, CodeIgniterを入れる


Laradockをクローン

mkdir webapp
cd webapp
git clone https://github.com/laradock/laradock.git


Laradock

https://laradock.io/

DockerでLaravel環境を簡単に作るためのイメージ...として作られたが、
その他PHPフレームワークを中心とする環境に必要なものをどんどん詰め込まれ
割と何でもある な環境のDockerイメージにレベルアップ。
とりあえず入れて、必要なものだけ立ち上げる感じで使います。

Laradockの設定ファイルをいじる
cd laradock
cp env-example .env
vim .env

下記を追加

DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd


CodeIgniterをインストール

cd /
cd /vagrant/webapp/
composer create-project kenjis/codeigniter-composer-installer {codeigniter}

{}部分がディレクトリ名となるので、好きなように。
{codeigniter}ディレクトリは、laradockディレクトリと同じ階層に作る。


4. Dockerで必要なツールを起動


nginxとmysqlとredisを起動

docker-compose up -d nginx mysql redis


下記に接続する

http://localhost:8080/index.php

Welcome to CodeIgniter に接続できれば完了!




ふ~~~
LaradockのDockerfileを見るだけでも
Docker使いになれそうだな~😳