처음 Laradock

업데이트 내역


  • 2018-06-12: 기사의 내용을 v7계에 대응
  • 2018-06-12: 업그레이드 방법 설명

  • 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.ymlservices 지시문에 설명 된 서비스 이름을 지정합니다.
    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 유저가 되지만, composerroot 유저로 실행하려고 하면(자) 경고가 표시되어 버리기 때문에 --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
    

    좋은 웹페이지 즐겨찾기