내 PC에서 Github Page 편집하고 바로바로 확인하기(Docker 를 활용한 jekyll 로컬 서버 맹글기)
in Docker
Github 페이지로 훌로구 활동을 하면서 뭐 하나 살짝 수정하고 쪽바로 바뀌는지 확인하기 위해 커밋하고 푸쉬하고 잠시 시간이 흐른 후 훌로구를 리프레쉬 하는 흑우짖을 해왔었다.
그렇게 하다 보니 매우 빠른 속도로 증가하는 Commit 수도 문제였고 바로바로 확인이 안 되서 이것저것 불편한 점이 많았다.
그러다 문득 docker 로 로컬서버를 구동하면 아주 깔꼼하게 모든 문제가 해결될 것 같다는 생각을 하게 되었다.
적용방법
- 훌로구 최상위에 docker-compose.yml 파일을 아래와 같은 내용으로 생성
- docker-compose up 으로 로컬서버 구동
- http://127.0.0.1:4000 에 접속해서 수정한것들 바로바로 확인
- 다 된것 같으면 commit 후 github 에 push
docker-compose.yml
version: '3'
services:
site:
container_name: my_blog
command: jekyll serve --watch --destination /home/jekyll/dist
image: jekyll/jekyll
volumes:
- .:/srv/jekyll
ports:
- 4000:4000
로컬서버 실행
docker-compose up
로컬서버 종료
ctrl + c 로 종료하면 되는데 예외 상황이 발생해서 서버가 계속 구동되 있다면 당황하지 말고 요렇게 종료 시키면 된다.
docker rm my_blog
Docker 컨테이너에 접속하기
컨테이너에 접속해서 추가 적으로 작업할 것이 있다면
docker exec -it my_blog /bin/sh
Windows Docker 에서 작업하기
Winodws Docker 는 Shared Drive 설정을 해 줘야 한다. 그리고 파일 변경시 이벤트가 발생하지 않아서 docker jekyll 에서 재빌드 되지 않는 현상이 발생한다.
파일 변경하면 docker jekyll 을 껏다 켯다 하는 불편함이 있다. 뭐 이렇게 껏다 켰다 하면서 해도 되고 불편하면 docker-windows-volume-watcher 라는 후로그램을 실행시켜 놓고 써도 된다.
- Docker Windows Volume Watcher
- 다운로드
- 다운로드 받은 docker-windows-volume-watcher.exe 파일을 PATH 가 설정된 디렉토리(ex)c:\windows)에 복사한다.
- 현재 프로젝트 최상위 디렉토리에서 docker-windows-volume-watcher 를 실행한다.
- docker-windows-volume-watcher -ignoredir .git
- Shared Drive 설정
결론
docker 가 이미 설치되 있다면 docker-compose.yml 파일만 만들어서 docker-compose up 만 하면 순식간에 로컬에다 훌로구를 띄울 수 있다.
나만 몰랐던 참 편한 세상이다.