Hexo, 로컬에서 도커 컨테이너로 실행하기
Dockerfile 작성
먼저 Dockerfile
을 작성한다.
1 | FROM node:lts |
별다른 구성은 없다. 호스트에 있는 Hexo 디렉터리와 연결할 디렉터리를 생성하고, Hexo 실행에 필요한 hexo-cli
와 sitemap.xml
생성에 필요한 hexo-generator-sitemap
을 npm으로 설치. 그리고 컨테이너 실행 시 hexo clean
명령과 hexo server
명령을 자동으로 실행하도록 하고, 컨테이너의 포트는 4000번 포트를 노출시킨다, 정도?
도커 이미지 빌드, 컨테이너 run 스크립트 작성
그리고 이제 도커 이미지를 빌드하고 컨테이너를 띄우면 되는데, 이마저도 귀찮으니 스크립트 파일로 만들자.
1 | !/bin/sh |
위는 도커 이미지 빌드 파일을 실행하는 스크립트 내용이다. 별다른 내용은 없다.
1 | !/bin/sh |
그리고 이것은 위에서 만든 이미지로 컨테이너를 실행시키는 스크립트 내용이다. 기존에 만약 Hexo 컨테이너가 있을 경우 멈추고 삭제하는 부분을 추가했기 때문에 Hexo 컨테이너가 멈춰있거나 존재하지 않으면 에러 메시지가 출력되나 신경 쓰지 않아도 된다.
유의할 것은 이 스크립트 파일들에 실행 권한을 주는 것. chmod
명령을 실행하여 실행 권한을 주면 된다.
실제로 사용할 때는?
실제로 사용할 때는 다음과 같이 사용하면 된다.
1 | 먼저 Dockerfile, build.sh, run.sh는 같은 디렉터리에 위치해야 하며 |
도커 컨테이너 실행을 확인했으면 브라우저를 열어 http://localhost:9000
으로 접속하여 Hexo가 정상적으로 띄워졌는지 확인한다. 이것으로 끝.