laravel + docker-compose + Dockerfile

이종호·2019년 11월 28일
0
post-thumbnail
  1. git clone 을 통해 설치할 프로젝트 코드 다운로드

  2. docker_setting 압축파일을 해당 폴더에 압축 해제

    docker_setting 파일 설명

  • init.sql => 생성될 유저에 생성할 DB 권한을 부여하도록 설정
  • local.ini => php.ini 커스텀 설정 파일
  • Dockerfile => Docker 이미지 설정 파일
  • data.sql => 설치시 import 할 sql 데이터
  • docker-compose => 기초 컨테이너들의 설정 파일
  • common.env => .env 커스텀 설정 파일
  1. cp .env.example .env 명령어로 .env 파일 생성

  2. 프로젝트 디렉토리에서 composer update && docker-compose build && docker-compose up -d 명령어로 설치

  1. 설치가 완료되면 docker-compose exec laravel-app php artisan key:generate 명령어를 실행
  • 만약 Laravel Passport를 이용할경우 docker-compose exec laravel-app php artisan passport:install 명령어도 실행
    (laravel-app : docker-compose 에서 설정한 컨테이너 name)
  1. docker ps 를 통해 laravel-app (설정한 서버 컨테이너 name) , mysql-db (설정한 mysql 컨테이너 name) 가 실행중인지 확인


(만약 실행중이지 않은 컨테이너가 있으면 docker ps -a 명령어로 실행중이지 않은 컨테이너의 ID 를 확인하고 docker start ID(확인한 ID 값) 을 통해 실행)

  • curl을 사용할 경우
  1. docker inspect laravel-app(컨테이너 name)

  2. Gateway ip 확인

  3. curl의 CURLOPT_URL 에 들어가는 url을 Gateway ip:port 형태로 설정

  • 특정 설정값 관련하여 정리
  1. /laravel_doc/docker-compose.yml
    1. ports:
      - 8000:80
      (접속할 포트 설정)
    1.  - ./init.sql:/docker-entrypoint-initdb.d/init.sql
       - ./data.sql:/docker-entrypoint-initdb.d/data.sql
      (laravel_doc 폴더에 있는 init.sql 파일과 data.sql 파일로 유저에게 DB 권한 부여 및 sql 데이터 import)
      • MYSQL_ROOT_PASSWORD= secreat
      • MYSQL_DATABASE= Your-database-name
      • MYSQL_USER= Your-user-name
      • MYSQL_PASSWORD= secreat
        (MYSQL 정보 설정 )
  
profile
ㄱ(o㉦o)ㄴ

0개의 댓글