Laradock 환경 구축

Mac OS X Catalina 10.15.4
처음으로 노력해 Laradock로 환경 구축해 가고 싶습니다.
이상한 곳이 있으면 꼭 지적하십시오.

Laradock을 복제



우선은 전용의 디렉토리 작성해 이동합니다.
$ mkdir laratest
$ cd laratest

그래서 git clone.
$ git clone https://github.com/LaraDock/laradock.git

LaraDock .env 파일 만들기



그렇다면 laradock 라는 팔이 만들어져 있어야 하기 때문에 거기로 이동합니다.
$ cd laradock

그 안에 있는 env-example 파일을 .env 로 복사합니다.
$ cp env-example .env

laraDock 파일 안에는 여러가지 소프트가 굉장히 들어가 있습니다.
nginx, mysql, php, laravel만이라면 특히 .env 조작의 필요는 없을 것 같다.

Laradock 환경 편집



Laradock에서 .env 파일을 편집합니다.
다만 공식 페이지 님에서는 다음과 같이 .env 파일내에 추가하는 기재가 있습니다.
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

이 외에도 조금 필요.



1, APP_CODE_PATH_HOST

[ ../] → [ ../laraapp ]로 변경. 프로젝트 이름으로 변경하는 것입니다.

2, DATA_PATH_HOST

[ ~/.laradock/data ] → [ .laradock/data ]로 변경.

3, MYSQL



[ latest ] → [ 5.7 ]로 변경. 8.0계에 비해 5.7계가 안정되어 있는 것 같습니다.MYSQL_DATABAEMYSQL_USERMYSQL_PASSWORD어쨌든 괜찮을 것 같지만 다른 설정과 정렬해야합니다.
잊지 않도록 하지 않으면.
우선 LaraDock의 .env 파일 설정과 다른 항목을 정렬합니다.

Laradock 시작



Laradock을 시작하고 확인해보십시오.
컨테이너 기동이 up 그리고, 옵션으로 -d 를 붙이면 백그라운드에서 움직여 줍니다.
우선 nginx와 mysql을 움직이면 좋을까.
$ docker-compose up -d nginx mysql

...

Creating laradock_mysql_1            ... done
Creating laradock_docker-in-docker_1 ... done
Creating laradock_workspace_1        ... done
Creating laradock_php-fpm_1          ... done
Creating laradock_nginx_1            ... done


최초의 기동시에는 꽤 pull 해 오므로 상당히 시간 걸립니다.
완료되면 위와 같은 표시가 나올 것.
시작했는지 확인하십시오.



이 안에 laradock_workspace_1 컨테이너가 일어나고 있는 것을 확인할 수 있습니다.
이 컨테이너 안으로 이동합니다.
$ docker exec -it laradock_workspace_1 bash

root@74e5ba95e1d4:/var/www#

프로젝트 만들기



이동할 수 있다면 먼저 업데이트할 것입니다.
root@74e5ba95e1d4:/var/www# apt-get update

끝나면 Laravel 프로젝트를 만듭니다. 아래 예제에서는 laraapp라는 이름으로 만듭니다.
root@74e5ba95e1d4:/var/www# composer create-project "laravel/laravel=6.0.*" laraapp

현재(2020/4/27)에서는 6.0계가 LTS로 서포트 길기 때문에, 이것을 선택해 둡니다.
h tps : // 레아도 bぇ. 이 m/ぁらゔぇl/7. x/쟈/레에아세 s. HTML

작성이 완료되면 파일이 존재하는지 확인한 다음 컨테이너를 엽니다.
root@74e5ba95e1d4:/var/www# exit
$ docker-compose stop

Laravel 프로젝트의 환경



프로젝트로 이동하여 .env 파일을 조정합니다.
조금 전의 녀석과 정렬.
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

권한 설정



웹 서버에서 쓰기 권한을 부여하기 위해 사용 권한을 설정합니다.
다시 컨테이너로 들어가 프로젝트 폴더로 이동합니다.
root@74e5ba95e1d4:/var/www/laraapp# chmod 766 storage
root@74e5ba95e1d4:/var/www/laraapp# chmod 766 bootstrap/cache

컨테이너 재부팅


docker-compose restart

마운트 확인


laradock_nginx_1laradock_workspace_1를 docker inspect하여 마운트 확인
$ docker inspect laradock_nginx_1

...

"Mounts": [

...
            {
                "Type": "bind",
                "Source": "/Users/ユーザー/hoge/laratest/laraapp",
                "Destination": "/var/www/",
                "Mode": "cached",
                "RW": true,
                "Propagation": "rprivate"
            },
...
$docker inspect laradock_workspace_1

...

"Mounts": [

            ...

            {
                "Type": "bind",
                "Source": "/Users/ユーザー/hoge/laratest/laraapp",
                "Destination": "/var/www/",
                "Mode": "cached",
                "RW": true,
                "Propagation": "rprivate"
            },

...

이 상태에서 localhost에 연결해 봅니다.


네, 뭔가 이상합니다.

nginx



laradock로 이동하여 파일을 편집합니다. 편집기는 vim이 아니어도 좋습니다.
$ vim nginx/sites/default.conf

server {

    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    # For https
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server ipv6only=on;
    # ssl_certificate /etc/nginx/ssl/default.crt;
    # ssl_certificate_key /etc/nginx/ssl/default.key;

    server_name localhost;
    root /var/www/public;    //ここがこうなってるはずなので、
    index index.php index.html index.htm;

    server_name localhost;
    root /var/www/laraapp/public;    //こうする プロジェクト名いれる
    index index.php index.html index.htm;

nginx의 문서 루트를 변경한다는 것.

이제 연결해 보겠습니다.


마침내 연결할 수있었습니다 ...
길었지만 고맙습니다.

참고 기사



이쪽의 기사등을 엄청 참고로 했습니다.
고마워요.
Laradock으로 Docker로 개발 환경을 손쉽게 구축
Laradock을 이용한 Laravel 개발 환경 구축
Laravel6 Laradock을 사용하여 Docker 환경 구축을 처음부터 시도

좋은 웹페이지 즐겨찾기