처음 Laradock
6197 단어 LaraDockPHP라라벨docker-compose도커
업데이트 내역
Laradock 설치
설치
$ git clone https://github.com/Laradock/laradock.git
laradock 디렉토리로 이동
$ cd laradock
템플릿에서 .env 파일 만들기
$ cp env-example .env
Tips
디폴트의 설정에서는 호스트측의 포트 번호
3306
는 컨테이너측의 MySQL 포트 3306
에 포워딩 된다. 호스트에서 이미 3306
를 사용하고 있다면 .env
파일의 MYSQL_PORT=3306
를 적절하게 수정하십시오..env
MYSQL_PORT=3306
docker-compose.yml
ports:
- "${MYSQL_PORT}:3306"
위에서 언급했듯이
docker-compose.yml
는 .env
의 변수 정의를 참조합니다. 조정이 필요한 경우 기본적으로 .env 파일을 수정합니다.컨테이너를 시작하는 방법
컨테이너 시작
$ docker-compose up -d nginx mysql
Tips
docker-compose.yml 에 기술되고 있는
depends_on
지시어의 지정에 의해, 의존 관계에 있는 서비스 ( php-fpm
/workspace
등)도 자동으로 기동한다.컨테이너에 들어가는 법
docker ps
명령으로 컨테이너 상태를 확인합니다. STATUS가 Up
가 되어 있으면 기동중의 증표.실행 중인 컨테이너 보기
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf5c3d89920e laradock_nginx "nginx" 25 minutes ago Up 25 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp laradock_nginx_1
5a14d8d967ff laradock_php-fpm "docker-php-entrypoi…" 25 minutes ago Up 25 minutes 9000/tcp laradock_php-fpm_1
5acec9238740 laradock_workspace "/sbin/my_init" 25 minutes ago Up 25 minutes 0.0.0.0:2222->22/tcp laradock_workspace_1
3415a979e523 laradock_mysql "docker-entrypoint.s…" 3 hours ago Up 25 minutes 0.0.0.0:3307->3306/tcp laradock_mysql_1
Tips
--format
옵션을 사용하면 표시 항목을 필요한 정보로만 좁힐 수 있습니다.$ docker ps --format "table {{.Status}}\t{{.Names}}"
STATUS NAMES
Up 34 minutes laradock_nginx_1
Up 34 minutes laradock_php-fpm_1
Up 34 minutes laradock_workspace_1
Up 34 minutes laradock_mysql_1
서비스
{SERVICE}
를 지정하여 컨테이너 안으로 들어가기컨테이너에 들어가다
$ docker-compose exec {SERVICE} bash
Tips
서비스
{SERVICE}
는 docker-compose.yml
의 services
지시문에 설명 된 서비스 이름을 지정합니다.version: '2'
services:
workspace: ...
php-fpm: ...
nginx: ...
mysql: ...
:
:
:
Laradock에서는
workspace
, php-fpm
, nginx
, mysql
등 각각이 서비스에 해당한다.workspace
$ docker-compose exec workspace bash
php-fpm
$ docker-compose exec php-fpm bash
nginx
$ docker-compose exec nginx bash
mysql
$ docker-compose exec mysql bash
Laravel 프로젝트 만들기
작업은 호스트 측이 아니고
workspace
컨테이너 안에 들어가서 실시한다. 패키지 관리 시스템의 composer
등 필요한 것이 미리 준비되어 있으므로 스스로 준비하는 번거로움이 필요 없다.디폴트에서는 컨테이너 안에 들어가면
root
유저가 되지만, composer
를 root
유저로 실행하려고 하면(자) 경고가 표시되어 버리기 때문에 --user
옵션을 laradock
로 지정해 로그인 한다.로그인
$ docker-compose exec --user=laradock workspace bash
whoami로 로그인한 사용자 확인
$ whoami
laradock
컨테이너 안으로 들어가면
composer create-project
프로젝트를 만듭니다. 예를 들어 foo
라는 프로젝트를 만듭니다.프로젝트 만들기
$ composer create-project --prefer-dist laravel/laravel foo
Tips
Laradock은 Laravel 공식 Laravel Installer (
laravel new
명령)가 아닌 composer create-project
프로젝트를 만드는 것을 권장합니다.애플리케이션 경로 변경
기본 환경 설정 파일
.env
에서 응용 프로그램 경로는 ../
입니다..env(기본값)
APP_CODE_PATH_HOST=../
앞의 예에서는
foo
라는 프로젝트를 만들었으므로 이를 ../foo
로 변경해야 합니다..env(변경 후)
APP_CODE_PATH_HOST=../foo
.env 변경 내용을 컨테이너에 반영
컨테이너 재시작
$ docker-compose stop
$ docker-compose up -d nginx mysql
구성 확인
지금까지 작업을 마치면 다음과 같은 디렉토리 구성으로 되어 있습니다.
디렉토리 구성
$ tree -L 1 ./laradock_sample
./laradock_sample
├── laradock
└── foo
2 directories, 0 files
참고로.
애플리케이션 확인
호스트 측의 포트 설정(
NGINX_HOST_HTTP_PORT=80
)을 .env
에서 특히 변경하지 않은 경우 브라우저에서 http://localhost에 액세스할 수 있습니다. 80번 포트를 사용하면 곤란한 경우는 적절히 변경해 주십시오.Laradock 업그레이드 방법
업그레이드
$ docker-compose down
$ git pull origin master
Reference
이 문제에 관하여(처음 Laradock), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tdkn/items/b8aa24cca0ba2904f8e7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)