LoginSignup
5
10

More than 5 years have passed since last update.

仮想マシン(Centos) + docker + laravelの開発環境構築

Last updated at Posted at 2018-08-21

背景

macでもwindowsでも同じ環境でdockerを使ってLaravelの
開発ができる環境を作りたかったのでトライ。疲れた。。。

Vagrantのインストール

ここからインストール

Virtualboxのインストール

ここからインストール

CentOS7のboxを追加

# vagrant box add [vagrantのbox名] [boxのURL]
# boxのURLはhttp://www.vagrantbox.es/を参照
# 時間がかかるのでお茶でも飲みながら待ちます
$ vagrant box add https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box

# ↓色々でてきて、最終的にこんなのが出ていればOK
# box: Successfully added box 'centos7' (v0) for 'virtualbox'!

追加したboxで仮想環境構築

# vagrantを使うためのディレクトリを作成
# 作成する場所はどこでもOK↓下では~/VM/に作成
$ mkdir ~/VM # ホームディレクトリにVMフォルダを作成
$ mkdir ~/VM/centos7 # 上で作ったVMフォルダの中にcentos7ディレクトリを作成
$ cd ~/VM/centos7 # 上で作ったディレクトリに移動

# vagrant init [vagrant box addで追加したvagrantのbox名]
$ vagrant init centos7 # Vagrantfileを生成

Vagrantfile修正

vi Vagrantfile

- # config.vm.network "private_network", ip: "192.168.33.10"
+ config.vm.network "private_network", ip: "192.168.33.10"

- # config.vm.synced_folder "../data", "/vagrant_data"
+ config.vm.synced_folder "./sample", "/home/vagrant/sample"

仮想マシンと同期するディレクトリ作成

$ mkdir ~/VM/centos7/sample

仮想マシン起動

$ vagrant up # 仮想マシン起動
$ vagrant ssh # 仮想マシンにログイン

terminalの左側が↓こうなってればOK

[vagrant@localhost ~]$
windowsの方はデフォルトではsshが使用できないので、
teratermをインストール + vagrant-teratermのプラグインをインストールすると簡単だと思います。
- teratermのインストール
- vagrant-teratermプラグインのインストール
$ vagrant plugin install vagrant-teraterm

上の作業ができたら、vagrant sshの代わりにvagrant teratermをコマンドプロンプトで実行
teratermが起動して、画面の左側が[vagrant@localhost ~]$になってればOK

dockerの環境構築

ここから基本的に仮想マシンでの作業

リポジトリの追加

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

dockerのインストール

$ sudo yum install docker-ce-18.03.1.ce-1.el7.centos # バージョンを指定してインストール
$ sudo systemctl start docker # dockerを起動
$ sudo systemctl enable docker # 仮想マシン起動時にdockerも自動起動

docker-composeのインストール

$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

# sudo しなくてもdocker使えるように現在のユーザーをdockerグループに入れる
$ sudo usermod -aG docker $USER

設定を反映させる

$ exit # 仮想マシンからログアウト
$ vagrant reload # 仮想マシンを再起動
$ vagrant ssh # 仮想マシンにログイン

Laradocの導入

# まずはgitが必要
$ sudo yum install git # バージョンが古いけど気にしない

dockerイメージ(laradoc)の取得

$ git clone https://github.com/LaraDock/laradock.git
$ cd laradock
$ cp env-example .env
$ docker-compose up -d nginx mysql # めっちゃ時間かかる

コンテナへログイン

docker exec -it laradock_workspace_1 /bin/bash

Laravelのインストール

$ composer create-project --prefer-dist laravel/laravel sample "5.5.*"
$ exit # コンテナからログアウト

nginxの設定変更(2箇所)

$ vi /home/vagrant/laradock/nginx/sites/default.conf

- server_name localhost;
+ server_name 192.168.33.10; # Vagrantfileに設定したIP

- root /var/www/public;
+ root /var/www/sample/public;

設定を反映させる

$ docker-compose stop
$ exit # 仮想マシンからログアウト
$ chmod -R 777 ~/VM/centos7/sample/storage/
$ vagrant reload

dockerを起動

$ vagrant ssh
$ cd laradock
$ docker-compose up -d nginx

192.168.33.10にアクセスしてLaravelが表示されればOK!!

スクリーンショット 2018-08-21 14.28.52.png

あとは自分のパソコンの/VM/centos7/sample/の中をいじって開発を進めましょう!!

5
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
10