勉強した内容を忘れないように作成したメモです
dockerについて全く知識のない状態から勉強しながら作成しました
ちなみにmacOs Sierra 10.12.6です
docker for macのインストール手順は割愛します
dockerについて
http://paiza.hatenablog.com/entry/docker_intro
#dockerと仮想マシンの違い
コンテナはOSレベルの仮想化を行いその上でプロセスを動かす。
仮想マシンはマシンレベル(メモリやCPUなど)の仮想化を行いその上でゲストOSを動かす。
カーネルをホストと共有しているため早い
環境のインフラ周りをソースコード化できるので、共有が用意
#Dockerイメージ
コンテナのファイルシステム、設定を一つにまとめ保存したもの
#コンテナ
Dockerイメージから作られる仮想環境
#Dockerサーバ
Docker本体、コンテナのイメージの管理を行うサービス
#Dockerクライアント
ユーザーが実際にDockerを操作するときに使うコマンドやGUIツール
#Docker Hub
Dockerイメージを集めたサイト
#1.laradockのクローン〜ssh接続まで
1.laradockのクローン
git clone https://github.com/LaraDock/laradock.git
2.ディレクトリの移動
cd laradock/
3.設定ファイルの作成
cp env-example .env
4.イメージの作成
docker-compose build apache2 mysql
5.コンテナの起動
docker-compose up -d workspace apache2 mysql
6.プロセスの確認
docker-compose ps
7.sshで接続
docker-compose exec workspace bash
#2.ssh接続後〜laravelプロジェクトの作成
以下接続中の操作
1.プロジェクトの作成
composer create-project laravel/laravel
2.接続終了
exit
#3.apacheの設定変更と再起動
1.apacheの設定ファイルの編集
/laradock/apache2/sites/default.apache.conf
ServerName laradock.dev
DocumentRoot /var/www/
~中略~
<Directory "/var/www/">
↓
ServerName localhost
DocumentRoot /var/www/laravel/public/
~中略~
<Directory "/var/www/laravel/public/">
2.コンテナの停止
docker-compose stop apache2
3.イメージの作成
docker-compose build apache2
4.コンテナの起動
docker-compose up -d apache2
#4.gitからlaravelのプロジェクトをcloneする
以下はssh接続後の手順
1.ディレクトリを作成
mkdir laravel
2.ディレクトリにプロジェクトをクローンし、/vagrant以下に移動
カレントディレクトリの移動
cd laravel
プロジェクトのクローン
git init
git clone -b ブランチ名 https://リポジトリのアドレス
3..envファイルを作成する
cd laravel/プロジェクト
cp .env.example .env
4.composerをインストールしAPP_KEYの作成
composer install
php artisan key:generate
5./laravel以下の.envのmysqlの部分を編集する
/laradock以下にも.envがあるので注意
docker側のmysqlの設定に合わせるので記載はデフォルトの場合
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
↓
DB_CONNECTION=mysql
DB_HOST=laradock_mysql_1
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret
6.mysqlのコンテナの再起動
一度dockerから抜けてホスト側で実行
docker-compose stop mysql
docker-compose up -d --build mysql
7.migrateとseed
docker-compose exec workspace bash
cd /vagrant/laravel/プロジェクト
php artisan migrate
php artisan db:seed
#5.apacheで表示するための設定
1.apacheの設定ファイルの編集
/laradock/apache2/sites/default.apache.conf
DocumentRoot /var/www/laravel/public/
~中略~
<Directory "/var/www/laravel/public/">
↓
DocumentRoot /var/www/laravel/プロジェクト/public/
~中略~
<Directory "/var/www/laravel/プロジェクト/public/">
2.apacheのコンテナの再起動
一度dockerから抜けてホスト側で実行
docker-compose stop apache2
docker-compose up --build -d apache2
#6.nginxで表示するための設定
1.nginxのイメージの作成
docker-compose build nginx
2.コンテナの起動
docker-compose up -d nginx
3.プロセスの確認
docker-compose ps
4.コンテナの停止
docker-compose stop nginx
5.設定ファイルの変更
/var/www/laradock/nginx/sites/default.conf
root /var/www/public;
↓
root /var/www/laravel/プロジェクト/public;
6.nginxのイメージの作成
docker-compose build nginx
7.コンテナの起動
docker-compose up -d nginx