서투른 Docker를 사용하여 Laravel 개발 환경 구축을 구축 (MailHog 사용하고 싶다)
계기
어쨌든 환경 구축 · docker에 대한 먹지 않고 싫어 (노브 먹고 싫어)
감이 반단하지 않기 때문에 굳이 docker로 Laravel 환경 구축 해 본다
Laradock이란?
Laradock? ? docker가 아니야! !
라는 쓰레기를 넣으면서・・・
A full PHP development environment for Docker.
Supports a variety of useful Docker Images, pre-configured to provide a wonderful PHP development environment.
참조 : Lradock
라라도크는 라라벨 커뮤니티의 유지가 유지보수하고 있다
오픈 소스 Laravel 환경 개발이며, "Docker"상에서 동작한다.
그래서 자꾸 설명하면,
docker가 땅에서 Laradock가 집 같은 관계인 것이다.
Laradock 다운로드 및 docker 초기화
프로젝트 디렉토리 생성
최종 디렉토리 이미지
projectname
laradock-projectname
laravel-projectname
위의 디렉토리를 이미지하면서 우선
projectname
디렉토리를 작성해, 그 안에 들어간다.$ mkdir projectname
$ cd projectname
Laradock 다운로드
Laradock을 GitHub에서 복제합니다. 붙이고 싶은 디렉토리명을 마지막에 입력.
$ git clone https://github.com/Laradock/laradock.git laradock-projectname
Laradock 환경 설정 파일 만들기
Laradock 디렉토리의
laradock-projectname
에 들어간다.env-example
파일을 .env
로 복사합니다.$ cd laradock-projectname
$ cp env-example .env
docker 컨테이너 초기화
컨테이너 초기화에서는 필요한 파일을 다운로드하기 때문에 비교적 시간이 걸린다.
$ docker-compose up -d nginx mysql workspace phpmyadmin
이쪽의 커맨드로 State가 Up가 되어 있으면 무사 성공!
$ docker-compose ps
Laravel 프로젝트 만들기
Laravel 프로젝트는 "workspace"컨테이너에 생성됩니다.
workspace 컨테이너에 로그인
「workspace」컨테이너에는 Laravel에 필요한 것이 세트 준비되어 있으므로,
composer 등은 "workspace"컨테이너를 통해 실행.
우선 로그인
$ docker-composer exec workspace bash
composer 명령을 실행하여 새 프로젝트를 만듭니다.
이번은 laravel5.5로 작성하고 싶었으므로 버전 지정.
$ composer create-project laravel/laravel laravel-projectname --prefer-dist "5.5.*"
안전하게 만들 수 있으면 컨테이너에서 로그 아웃
$ exit
Laradock 환경 설정 파일 설정
방금 만든 Laradock 디렉토리 아래의
.env
를 변경했습니다.※필요 부분 이외 생략
### Paths #################################################
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../laravel-projectname
# Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www
# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_CONTAINER_FLAG=:cached
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock-projectname/data
nginx 설정
Laradock 디렉터리 아래의
docker-compose.yml
를 변경한다.이제 포트 번호를 8888로 변경할 수있었습니다.
※필요 부분 이외 생략
### NGINX Server #########################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
- http_proxy
- https_proxy
- no_proxy
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "8888:80"
- "443:443"
depends_on:
- php-fpm
networks:
- frontend
- backend
컨테이너 재부팅
일단 설정이 끝난 곳에서 컨테이너를 재시작.
$ docker-compose stop
$ docker-compose up -d nginx mysql workspace phpmyadmin
그리고 드디어・・・・・・・
브라우저를 열고
https:8888
방문그럼 그럼 !!!!
Reference
이 문제에 관하여(서투른 Docker를 사용하여 Laravel 개발 환경 구축을 구축 (MailHog 사용하고 싶다)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanamicronn/items/fa3412a526ebe8221e74텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)