Docker Compose로 Laravel 개발 환경을 구축
4146 단어 PHP환경 구축라라벨docker-compose도커
Docker+Amazon Linux로 Laravel 개발 환경 구축
하지만 OS 이미지에 설치하는 것은 Docker의 본래 사용법이 아닐까.
그래서 Docker Compose에서의 환경 구축을 copipe 할 수 있도록 정리했습니다.
기계 사양
Docker 환경
할 일
보충
각 환경을 오거나 하기 때문에 아래와 같이 기재합니다.
[Mac]$ MacのターミナルでMac内の作業
[PHP]$ MacのターミナルからPHPコンテナに接続して作業
전제
Docker 설치됨
컨테이너 생성
컨테이너 정의를 만들었습니다!
htps : // 기주 b. 코 m/보 b 타보/도 c케 r
[Mac]$ cd <任意のディレクトリ>
[Mac]$ git clone https://github.com/bobtabo/docker.git
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・・・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
생성되는 호스트 OS(Mac)의 마운트 포인트
~/Work/MountPoint/docker/home -> /home/docker
~/Work/MountPoint/docker/db/data -> /var/lib/mysql
※참고
Concrete5 on Nginx + php7-fpm을 docker-compose로 시도했습니다.
docker-compose를 사용하여 (가능한 한) 공식 이미지로 PHP 개발 환경을 만들었습니다.
PHP의 공식 Docker 이미지로 UNIX 소켓 통신하려고 함정에 빠지는 권
docker-compose로 unix 소켓을 사용하여 Nginx, php-fpm 컨테이너 만들기
Laravel 설치
Laravel 설치를 Dockerfile에 쓰면 컨테이너 시작시 매번 설치가 실행되는 것 같다.
어느 기사를 읽어도 Laravel은 별작업인 것은, 그런 일이었는가.
뭔가 효율이 좋은 방법은 없는 것인가,,, 또 이번 생각하자.
그래서 컨테이너 안에 들어가서 Laravel 환경을 만듭니다.
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[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]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ vi .env
★DB設定を置換
:%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
[PHP]$ php artisan migrate
[PHP]$ php artisan db:seed
[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]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
동작 확인(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/42b70d334dee33befdfb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[Mac]$ MacのターミナルでMac内の作業
[PHP]$ MacのターミナルからPHPコンテナに接続して作業
Docker 설치됨
컨테이너 생성
컨테이너 정의를 만들었습니다!
htps : // 기주 b. 코 m/보 b 타보/도 c케 r
[Mac]$ cd <任意のディレクトリ>
[Mac]$ git clone https://github.com/bobtabo/docker.git
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・・・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
생성되는 호스트 OS(Mac)의 마운트 포인트
~/Work/MountPoint/docker/home -> /home/docker
~/Work/MountPoint/docker/db/data -> /var/lib/mysql
※참고
Concrete5 on Nginx + php7-fpm을 docker-compose로 시도했습니다.
docker-compose를 사용하여 (가능한 한) 공식 이미지로 PHP 개발 환경을 만들었습니다.
PHP의 공식 Docker 이미지로 UNIX 소켓 통신하려고 함정에 빠지는 권
docker-compose로 unix 소켓을 사용하여 Nginx, php-fpm 컨테이너 만들기
Laravel 설치
Laravel 설치를 Dockerfile에 쓰면 컨테이너 시작시 매번 설치가 실행되는 것 같다.
어느 기사를 읽어도 Laravel은 별작업인 것은, 그런 일이었는가.
뭔가 효율이 좋은 방법은 없는 것인가,,, 또 이번 생각하자.
그래서 컨테이너 안에 들어가서 Laravel 환경을 만듭니다.
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[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]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ vi .env
★DB設定を置換
:%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
[PHP]$ php artisan migrate
[PHP]$ php artisan db:seed
[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]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
동작 확인(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/42b70d334dee33befdfb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[Mac]$ cd <任意のディレクトリ>
[Mac]$ git clone https://github.com/bobtabo/docker.git
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・・・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
~/Work/MountPoint/docker/home -> /home/docker
~/Work/MountPoint/docker/db/data -> /var/lib/mysql
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[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]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ vi .env
★DB設定を置換
:%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
[PHP]$ php artisan migrate
[PHP]$ php artisan db:seed
[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]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
[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/42b70d334dee33befdfb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)