Docker Compose로 Laravel 개발 환경을 구축
4161 단어 PHP환경 구축라라벨docker-compose도커
Docker Compose로 Laravel 개발 환경을 구축
결국 컨테이너에 들어가 Laravel 설치했지만, , , 조금 이마이치.
생각한 결과, docker-compose.yml들과 함께 Laravel도 리포지토리 관리하면 좋지 않을까 생각했다.
그래, 어쩌면 이것이 제일! 라고 할까, 이것 밖에 없다! !
기계 사양
Docker 환경
할 일
보충
각 환경을 오거나 하기 때문에 아래와 같이 기재합니다.
[Mac]$ MacのターミナルでMac内の作業
[PHP]$ MacのターミナルからPHPコンテナに接続して作業
docker-compose.yml 편집
services:
nginx:
・・・
volumes:
- ~/MountPoint/docker/home:/home/docker
・・・
php:
・・・
volumes:
- ~/Work/MountPoint/docker/home:/home/docker
・・・
db:
volumes:
- ~/Work/MountPoint/docker/db/data:/var/lib/mysql
・・・
마운트 포인트는 컨테이너 파일들로부터 분리하고 있었지만, 같은 디렉토리로 하기 때문에, 아래와 같이 변경.
services:
nginx:
・・・
volumes:
- ./src:/home/docker
・・・
php:
・・・
volumes:
- ./src:/home/docker
・・・
db:
volumes:
- ./db:/var/lib/mysql
・・・
.gitignore 편집
[Mac]$ MacのターミナルでMac内の作業
[PHP]$ MacのターミナルからPHPコンテナに接続して作業
services:
nginx:
・・・
volumes:
- ~/MountPoint/docker/home:/home/docker
・・・
php:
・・・
volumes:
- ~/Work/MountPoint/docker/home:/home/docker
・・・
db:
volumes:
- ~/Work/MountPoint/docker/db/data:/var/lib/mysql
・・・
마운트 포인트는 컨테이너 파일들로부터 분리하고 있었지만, 같은 디렉토리로 하기 때문에, 아래와 같이 변경.
services:
nginx:
・・・
volumes:
- ./src:/home/docker
・・・
php:
・・・
volumes:
- ./src:/home/docker
・・・
db:
volumes:
- ./db:/var/lib/mysql
・・・
.gitignore 편집
/db
/src/*
!/src/laravel
Laravel 준비
상기까지로 병아리가 되지만, 모처럼이므로 Laravel도 준비.
Mac과 컨테이너의 PHP 버전이 다르기 때문에 컨테이너 내에서 작업.
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ composer create-project --prefer-dist laravel/laravel laravel "5.6.*"
[PHP]$ cd laravel
[PHP]$ composer require --dev barryvdh/laravel-ide-helper
[PHP]$ composer require --dev squizlabs/php_codesniffer
[PHP]$ mkdir bin
[PHP]$ vi bin/clear-laravel.sh
---
#!/bin/bash
php artisan view:clear
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan clear-compiled
php artisan config:cache
composer dump-autoload
php artisan ide-helper:generate
php artisan ide-helper:models -N
php artisan ide-helper:meta
find . -name '._.DS_Store' -type f -ls -delete
---
:wq
[PHP]$ vi .env.example
---
:%s/DB_HOST=127.0.0.1/DB_HOST=mysql/g
:%s/DB_DATABASE=homestead/DB_DATABASE=hoge/g
:%s/DB_USERNAME=homestead/DB_USERNAME=fuga/g
:%s/DB_PASSWORD=secret/DB_PASSWORD=docker#DOCKER1234/g
---
:wq
완성! !
htps : // 기주 b. 코 m/보 b타보/도 c케 r2
사용법
Laravel 환경 준비
[Mac]$ cd <任意のディレクトリ>
[Mac]$ git clone https://github.com/bobtabo/docker2.git docker
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・・・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[PHP]$ cd laravel
[PHP]$ composer install
[PHP]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ cp -p .env.example .env
[PHP]$ php artisan key:generate
[PHP]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
[PHP]$ php artisan migrate:fresh --seed
동작 확인(Mac 호스트 편집)
[Mac]$ sudo vi /private/etc/hosts
★下記を点線内を追記
---
127.0.0.1 laravel.local
---
:wq
브라우저에서 동작 확인
컨테이너 삭제
[Mac]$ docker-compose down --rmi all --volumes
※참고
《멸망의 주문》 Docker Compose로 만든 컨테이너, 이미지, 볼륨, 네트워크를 일괄 완전 소거하는 편리 명령
Reference
이 문제에 관하여(Docker Compose로 Laravel 개발 환경을 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/_bobtabo_/items/8dae5b256f1454c082ec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ composer create-project --prefer-dist laravel/laravel laravel "5.6.*"
[PHP]$ cd laravel
[PHP]$ composer require --dev barryvdh/laravel-ide-helper
[PHP]$ composer require --dev squizlabs/php_codesniffer
[PHP]$ mkdir bin
[PHP]$ vi bin/clear-laravel.sh
---
#!/bin/bash
php artisan view:clear
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan clear-compiled
php artisan config:cache
composer dump-autoload
php artisan ide-helper:generate
php artisan ide-helper:models -N
php artisan ide-helper:meta
find . -name '._.DS_Store' -type f -ls -delete
---
:wq
[PHP]$ vi .env.example
---
:%s/DB_HOST=127.0.0.1/DB_HOST=mysql/g
:%s/DB_DATABASE=homestead/DB_DATABASE=hoge/g
:%s/DB_USERNAME=homestead/DB_USERNAME=fuga/g
:%s/DB_PASSWORD=secret/DB_PASSWORD=docker#DOCKER1234/g
---
:wq
Laravel 환경 준비
[Mac]$ cd <任意のディレクトリ>
[Mac]$ git clone https://github.com/bobtabo/docker2.git docker
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・・・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[PHP]$ cd laravel
[PHP]$ composer install
[PHP]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ cp -p .env.example .env
[PHP]$ php artisan key:generate
[PHP]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
[PHP]$ php artisan migrate:fresh --seed
동작 확인(Mac 호스트 편집)
[Mac]$ sudo vi /private/etc/hosts
★下記を点線内を追記
---
127.0.0.1 laravel.local
---
:wq
브라우저에서 동작 확인
컨테이너 삭제
[Mac]$ docker-compose down --rmi all --volumes
※참고
《멸망의 주문》 Docker Compose로 만든 컨테이너, 이미지, 볼륨, 네트워크를 일괄 완전 소거하는 편리 명령
Reference
이 문제에 관하여(Docker Compose로 Laravel 개발 환경을 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_bobtabo_/items/8dae5b256f1454c082ec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)