Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.
소개
Laradock이라는 Docker 컨테이너상에서 Laravel을 동작시킬 수 있는 멋진 프로젝트가 있다는 것으로, 조속히 시험해 보았다. 자주 있는 일이지만, 문서로 아무래도 간단하게 순서가 쓰여져도, 실제로는 손잡이 포인트가 숨어 있고, 이번도 조금 멈추었으므로, 거기도 포함한 순서가 됩니다.
환경
공식 문서
ㅡㅡㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ 이오 / 인 t 로즈 c 치온 /
우선은 이 인트로덕션을 따라 진행해 본다.
절차
git clone
$ cd /YOUR/PROJECT/PATH
$ git clone https://github.com/Laradock/laradock.git
$ ls -lah
laradock
이 기사와 동일한 버전을 사용하려면 -b v7.2.0
를 지정하십시오.
지정되지 않은 최신.
.env 만들기
환경 변수가 결합된 파일을 복사하여 작성
cd /YOUR/PROJECT/PATH/laradock
cp env-example .env
나중에 다시 편집하지만 급한 포트를 바꿔 놓습니다.
문서에는 실려 있지 않습니다만, 80이라고 mac의 Apache가 이용하는 포트와 쓰러 에러가 되는 일이 있으므로 8888로 바꾸어 둡니다
$ vi .env
### NGINX #################################################
NGINX_HOST_HTTP_PORT=8888 // 80 → 8888(まぁ何でもいい)
컨테이너 생성
시작할 서비스를 지정하고 up합니다.
(서비스라는 것은 docker-compose.yml
의 각 항목의 값)
$ cd /YOUR/PROJECT/PATH/laradock
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// ・・・しばしご歓談・・・
// コンテナの起動を確認
$ docker ps --format "table {{.ID}} {{.Names}}"
CONTAINER ID NAMES
27f1a9cbf5a2 laradock_nginx_1
dff26644e009 laradock_php-fpm_1
04100991a64a laradock_phpmyadmin_1
430d25cd8b16 laradock_workspace_1
d53e9263b730 laradock_mysql_1
311721d412de laradock_docker-in-docker_1
568796ee3551 laradock_redis_1
Laravel 본체 다운로드
본체는 composer를 이용하여 입수합니다.
composer나 필요한 라이브러리가 갖추어진 workspace
컨테이너에서 실시합니다.
$ docker exec -it laradock_workspace_1 bash
// コンテナにて
# cd /var/www
# composer create-project laravel/laravel my-cool-app "5.6.*"
# ls
laradock my-cool-app
docker-compose.yml
에서 볼륨이 ../:/var/www
인 상태에서 컨테이너를 생성했기 때문에/YOUR/PROJECT/PATH/laradock/../
가 컨테이너의 /var/www
에 마운트되고,
로컬에서도 본체를 확인할 수 있습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH
$ ls
laradock my-cool-app
.env에 Laravel 경로 설정
$ vi .env
APP_CODE_PATH_HOST=../
↓
APP_CODE_PATH_HOST=../my-cool-app/
// コンテナ更新
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// マウントされているパスが変わっているのが分かる
$ docker exec -it laradock_workspace_1 bash
# cd /var/www && ls
app composer.json database public routes tests
artisan composer.lock package.json readme.md server.php vendor
bootstrap config phpunit.xml resources storage webpack.mix.js
브라우저에서 확인
http://localhost:8888/
터터 룬
localhost 이외의 도메인을 설정해 봅니다.
방금 전에 환영 화면을 보았지만 시도에 도메인을 http://my-cool-app.test:8888
로 변경해 보겠습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH/laradock/nginx/sites
$ cp default.conf my-cool-app.conf
vi my-cool-app.conf
server_name my-cool-app.test; //ここだけ変更
$ sudo vi /etc/hosts
// 追記する
127.0.0.1 my-cool-app.test
이때 도메인은 〇〇.dev는 피하는 편이 좋습니다.
(Chrome에서 .dev
도메인이 HTTPS로 리디렉션됨)
주의점
.env port 변경
80에서 docker-compose up하면 nginx 컨테이너가 시작되지 않고 다음과 같은 오류가 발생할 수 있습니다.
Starting laradock_nginx_1 ... error
ERROR: for laradock_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.
원인은 mac의 Apache나 culprit라는 프로세스가 80포트를 사용했기 때문이었습니다.
(처음 아무것도 생각하지 않고 진행하여 오류가 되었다)
ERROR: for nginx Cannot start service nginx
라는 ISSUE를 보고 해결했습니다.
〇〇.dev 도메인 사용 안함
이유는 Chrome이라면 .dev가 강제로 HTTPS가되기 때문에 그리고 대신“.localhost”, “.invalid”, “.test”, or “.example”.
근처를 사용하도록(듯이) 말해졌습니다.
변경사항이 반영되지 않음
만약 up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.
$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yotsak/items/a7d175206b387b5e5acc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git clone
$ cd /YOUR/PROJECT/PATH
$ git clone https://github.com/Laradock/laradock.git
$ ls -lah
laradock
이 기사와 동일한 버전을 사용하려면
-b v7.2.0
를 지정하십시오.지정되지 않은 최신.
.env 만들기
환경 변수가 결합된 파일을 복사하여 작성
cd /YOUR/PROJECT/PATH/laradock
cp env-example .env
나중에 다시 편집하지만 급한 포트를 바꿔 놓습니다.
문서에는 실려 있지 않습니다만, 80이라고 mac의 Apache가 이용하는 포트와 쓰러 에러가 되는 일이 있으므로 8888로 바꾸어 둡니다
$ vi .env
### NGINX #################################################
NGINX_HOST_HTTP_PORT=8888 // 80 → 8888(まぁ何でもいい)
컨테이너 생성
시작할 서비스를 지정하고 up합니다.
(서비스라는 것은 docker-compose.yml
의 각 항목의 값)
$ cd /YOUR/PROJECT/PATH/laradock
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// ・・・しばしご歓談・・・
// コンテナの起動を確認
$ docker ps --format "table {{.ID}} {{.Names}}"
CONTAINER ID NAMES
27f1a9cbf5a2 laradock_nginx_1
dff26644e009 laradock_php-fpm_1
04100991a64a laradock_phpmyadmin_1
430d25cd8b16 laradock_workspace_1
d53e9263b730 laradock_mysql_1
311721d412de laradock_docker-in-docker_1
568796ee3551 laradock_redis_1
Laravel 본체 다운로드
본체는 composer를 이용하여 입수합니다.
composer나 필요한 라이브러리가 갖추어진 workspace
컨테이너에서 실시합니다.
$ docker exec -it laradock_workspace_1 bash
// コンテナにて
# cd /var/www
# composer create-project laravel/laravel my-cool-app "5.6.*"
# ls
laradock my-cool-app
docker-compose.yml
에서 볼륨이 ../:/var/www
인 상태에서 컨테이너를 생성했기 때문에/YOUR/PROJECT/PATH/laradock/../
가 컨테이너의 /var/www
에 마운트되고,
로컬에서도 본체를 확인할 수 있습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH
$ ls
laradock my-cool-app
.env에 Laravel 경로 설정
$ vi .env
APP_CODE_PATH_HOST=../
↓
APP_CODE_PATH_HOST=../my-cool-app/
// コンテナ更新
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// マウントされているパスが変わっているのが分かる
$ docker exec -it laradock_workspace_1 bash
# cd /var/www && ls
app composer.json database public routes tests
artisan composer.lock package.json readme.md server.php vendor
bootstrap config phpunit.xml resources storage webpack.mix.js
브라우저에서 확인
http://localhost:8888/
터터 룬
localhost 이외의 도메인을 설정해 봅니다.
방금 전에 환영 화면을 보았지만 시도에 도메인을 http://my-cool-app.test:8888
로 변경해 보겠습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH/laradock/nginx/sites
$ cp default.conf my-cool-app.conf
vi my-cool-app.conf
server_name my-cool-app.test; //ここだけ変更
$ sudo vi /etc/hosts
// 追記する
127.0.0.1 my-cool-app.test
이때 도메인은 〇〇.dev는 피하는 편이 좋습니다.
(Chrome에서 .dev
도메인이 HTTPS로 리디렉션됨)
주의점
.env port 변경
80에서 docker-compose up하면 nginx 컨테이너가 시작되지 않고 다음과 같은 오류가 발생할 수 있습니다.
Starting laradock_nginx_1 ... error
ERROR: for laradock_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.
원인은 mac의 Apache나 culprit라는 프로세스가 80포트를 사용했기 때문이었습니다.
(처음 아무것도 생각하지 않고 진행하여 오류가 되었다)
ERROR: for nginx Cannot start service nginx
라는 ISSUE를 보고 해결했습니다.
〇〇.dev 도메인 사용 안함
이유는 Chrome이라면 .dev가 강제로 HTTPS가되기 때문에 그리고 대신“.localhost”, “.invalid”, “.test”, or “.example”.
근처를 사용하도록(듯이) 말해졌습니다.
변경사항이 반영되지 않음
만약 up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.
$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yotsak/items/a7d175206b387b5e5acc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ cd /YOUR/PROJECT/PATH/laradock
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// ・・・しばしご歓談・・・
// コンテナの起動を確認
$ docker ps --format "table {{.ID}} {{.Names}}"
CONTAINER ID NAMES
27f1a9cbf5a2 laradock_nginx_1
dff26644e009 laradock_php-fpm_1
04100991a64a laradock_phpmyadmin_1
430d25cd8b16 laradock_workspace_1
d53e9263b730 laradock_mysql_1
311721d412de laradock_docker-in-docker_1
568796ee3551 laradock_redis_1
본체는 composer를 이용하여 입수합니다.
composer나 필요한 라이브러리가 갖추어진
workspace
컨테이너에서 실시합니다.$ docker exec -it laradock_workspace_1 bash
// コンテナにて
# cd /var/www
# composer create-project laravel/laravel my-cool-app "5.6.*"
# ls
laradock my-cool-app
docker-compose.yml
에서 볼륨이 ../:/var/www
인 상태에서 컨테이너를 생성했기 때문에/YOUR/PROJECT/PATH/laradock/../
가 컨테이너의 /var/www
에 마운트되고,로컬에서도 본체를 확인할 수 있습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH
$ ls
laradock my-cool-app
.env에 Laravel 경로 설정
$ vi .env
APP_CODE_PATH_HOST=../
↓
APP_CODE_PATH_HOST=../my-cool-app/
// コンテナ更新
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// マウントされているパスが変わっているのが分かる
$ docker exec -it laradock_workspace_1 bash
# cd /var/www && ls
app composer.json database public routes tests
artisan composer.lock package.json readme.md server.php vendor
bootstrap config phpunit.xml resources storage webpack.mix.js
브라우저에서 확인
http://localhost:8888/
터터 룬
localhost 이외의 도메인을 설정해 봅니다.
방금 전에 환영 화면을 보았지만 시도에 도메인을 http://my-cool-app.test:8888
로 변경해 보겠습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH/laradock/nginx/sites
$ cp default.conf my-cool-app.conf
vi my-cool-app.conf
server_name my-cool-app.test; //ここだけ変更
$ sudo vi /etc/hosts
// 追記する
127.0.0.1 my-cool-app.test
이때 도메인은 〇〇.dev는 피하는 편이 좋습니다.
(Chrome에서 .dev
도메인이 HTTPS로 리디렉션됨)
주의점
.env port 변경
80에서 docker-compose up하면 nginx 컨테이너가 시작되지 않고 다음과 같은 오류가 발생할 수 있습니다.
Starting laradock_nginx_1 ... error
ERROR: for laradock_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.
원인은 mac의 Apache나 culprit라는 프로세스가 80포트를 사용했기 때문이었습니다.
(처음 아무것도 생각하지 않고 진행하여 오류가 되었다)
ERROR: for nginx Cannot start service nginx
라는 ISSUE를 보고 해결했습니다.
〇〇.dev 도메인 사용 안함
이유는 Chrome이라면 .dev가 강제로 HTTPS가되기 때문에 그리고 대신“.localhost”, “.invalid”, “.test”, or “.example”.
근처를 사용하도록(듯이) 말해졌습니다.
변경사항이 반영되지 않음
만약 up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.
$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yotsak/items/a7d175206b387b5e5acc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ vi .env
APP_CODE_PATH_HOST=../
↓
APP_CODE_PATH_HOST=../my-cool-app/
// コンテナ更新
$ docker-compose up -d nginx mysql phpmyadmin redis workspace
// マウントされているパスが変わっているのが分かる
$ docker exec -it laradock_workspace_1 bash
# cd /var/www && ls
app composer.json database public routes tests
artisan composer.lock package.json readme.md server.php vendor
bootstrap config phpunit.xml resources storage webpack.mix.js
http://localhost:8888/
터터 룬
localhost 이외의 도메인을 설정해 봅니다.
방금 전에 환영 화면을 보았지만 시도에 도메인을 http://my-cool-app.test:8888
로 변경해 보겠습니다.
// ローカルにて
$ cd /YOUR/PROJECT/PATH/laradock/nginx/sites
$ cp default.conf my-cool-app.conf
vi my-cool-app.conf
server_name my-cool-app.test; //ここだけ変更
$ sudo vi /etc/hosts
// 追記する
127.0.0.1 my-cool-app.test
이때 도메인은 〇〇.dev는 피하는 편이 좋습니다.
(Chrome에서 .dev
도메인이 HTTPS로 리디렉션됨)
주의점
.env port 변경
80에서 docker-compose up하면 nginx 컨테이너가 시작되지 않고 다음과 같은 오류가 발생할 수 있습니다.
Starting laradock_nginx_1 ... error
ERROR: for laradock_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.
원인은 mac의 Apache나 culprit라는 프로세스가 80포트를 사용했기 때문이었습니다.
(처음 아무것도 생각하지 않고 진행하여 오류가 되었다)
ERROR: for nginx Cannot start service nginx
라는 ISSUE를 보고 해결했습니다.
〇〇.dev 도메인 사용 안함
이유는 Chrome이라면 .dev가 강제로 HTTPS가되기 때문에 그리고 대신“.localhost”, “.invalid”, “.test”, or “.example”.
근처를 사용하도록(듯이) 말해졌습니다.
변경사항이 반영되지 않음
만약 up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.
$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yotsak/items/a7d175206b387b5e5acc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// ローカルにて
$ cd /YOUR/PROJECT/PATH/laradock/nginx/sites
$ cp default.conf my-cool-app.conf
vi my-cool-app.conf
server_name my-cool-app.test; //ここだけ変更
$ sudo vi /etc/hosts
// 追記する
127.0.0.1 my-cool-app.test
.env port 변경
80에서 docker-compose up하면 nginx 컨테이너가 시작되지 않고 다음과 같은 오류가 발생할 수 있습니다.
Starting laradock_nginx_1 ... error
ERROR: for laradock_nginx_1 Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint laradock_nginx_1 (779ebdcb60c4eb4d4e2688df7076747a12b54e2770016a280723a506fb82f656): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.
원인은 mac의 Apache나 culprit라는 프로세스가 80포트를 사용했기 때문이었습니다.
(처음 아무것도 생각하지 않고 진행하여 오류가 되었다)
ERROR: for nginx Cannot start service nginx
라는 ISSUE를 보고 해결했습니다.
〇〇.dev 도메인 사용 안함
이유는 Chrome이라면 .dev가 강제로 HTTPS가되기 때문에 그리고 대신“.localhost”, “.invalid”, “.test”, or “.example”.
근처를 사용하도록(듯이) 말해졌습니다.
변경사항이 반영되지 않음
만약 up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.
$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yotsak/items/a7d175206b387b5e5acc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
만약
up
했는데 설정이 컨테이너에 반영되지 않은 의혹이 있으면, 이하와 같이 캐쉬 없이 재빌드를 시험해 보면 좋을지도 모릅니다.$ docker-compose build --no-cache nginx
Reference
이 문제에 관하여(Laradock을 사용하여 Laravel 환경을 5 분 안에 구축하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yotsak/items/a7d175206b387b5e5acc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)