docker run -it -d -p 80:80 --privileged --name laravel
-v C:\docker\laravel:/home/laravel dockingmosei/laravel8:latest
위 형식으로 컨테이너를 생성하게 되면
C:\docker\laravel 폴더와 /home/laravel 폴더가 동기화 된다.
그러면 컨테이너가 실행될때 C:\docker\laravel 폴더 내용이 컨테이너 안의 /home/laravel에 덮어씌워지게 된다.
만약 C:\docker\laravel 이 비어있을 때는 docker 프로젝트에 라라벨 내용이 있더라도 모두 삭제 된다.
그래서 로컬에 git clone 으로 우선 프로젝트를 세팅 해놓은 후에 컨테이너를 실행해야 한다.
이 때 체크할 점.
1. env 파일은 gitignore 되어있다.
.env 파일이 없으면 500에러가 난다.
그러나 git에 나의 프로젝트를 올려놨더라도 .env 파일은 포함되어있지 않기 때문에,
git clone 후 로컬 접속 해보면 500 에러가 날 것이다.
git clone 후 .env를 생성후 세팅을 우선 한다.
2. composer install
vendor 폴더는 composer의 의존성 폴더이다.
vendor 폴더도 용량문제로 굳이 git에 업로드 할 필요가 없기 때문에 gitignore에 포함해서 사용한다.
git clone 으로 프로젝트를 받으면 composer install을 실행해서 vendor 폴더를 생성해준다.
3. node_module 확인
기존 프로젝트에서 node_module 폴더를 사용중이었다면,
package.json 파일이 있는지 확인하고 있으면
npm install
을 실행 해준다.
4. 폴더 권한 확인
서버마다 세팅해놓은 프로젝트 권한이 다를 것이다.
root / www-data 등등
git clone 하자마자 서버세팅에 맞게 소유자 권한 세팅을 해준다.
chown -R www-data /home/laravel
'Docker' 카테고리의 다른 글
[Docker] docker에 selenium 설치 (0) | 2023.05.10 |
---|---|
[Docker] Intellij + PHP8 + Xdebug3 설정 (0) | 2021.09.27 |
[Docker] Container의 OS vs VM의 OS (0) | 2021.09.25 |
[Docker] 로컬 프로젝트 폴더와 컨테이너 홈디렉토리 동기화 (0) | 2021.09.24 |
[Docker] 나의 컨테이너 백업하기 (0) | 2021.09.24 |