상황파악

깃 블로그 배포환경 셋팅방법 (with Docker) 본문

Docker

깃 블로그 배포환경 셋팅방법 (with Docker)

otch80 2023. 3. 19. 14:01

하고싶은거

깃 블로그 배포 환경 이미지를 말아놓고 필요할때마다 꺼내서 쓰고싶음

 

하고싶은 이유

윈도우에서 맥으로 개발환경이 변경되니 다시 jekyll 셋팅하기도 귀찮고 나중에 또 작업환경 바뀌면 처음부터 다시 찾기 귀찮기 때문

 

배포 환경이 필요한 이유

os에 따라 jekyll 설치 과정과 에러 처리 방법이 다르기 때문.

고정된 실행 환경이 있고, 셋팅이 자동화 되어 있으면 불필요한 리소스가 없어지기 때문에 포스팅에 집중할 수 있기 때문에 필요함.

 

jekyll을 고집하는 이유

깃블로그를 만들기 위해 jekyll를 사용하는 사람이 많기때문에, 레퍼런스를 통한 유지보수에 용이하다고 판단

 

필요한거

Docker

 

Docker로 하려는거

base image를 말아두고 명령어 한줄로 jekyll build 까지 수행

 

 

요약하자면 - 1

 

 

예상 초안

이미지 설명 (Bottom-Up? End-to-Start?)

jekyll

- Markdown이나 HTML 파일을 ruby 언어를 이용해 웹서버의 기본 형태를 빌드해주는 툴

 

Bundler

- Gemfile (like package-json, xml ...) 을 통해 gem (like 라이브러리) 들을 관리

 

WebBrick

- 루비에서 웹서버를 지원하게 하는 라이브러리 (루비의 웹프레임워크인 레일즈에서 기본적으로 제공된다고 함)

 

Gem

- 다른 언어의 라이브러리단위, Gem 명령어를 통해 ruby 라이브러리를 설치함 (like pip, npm ...)

 

Ruby

- 앞서 설명한 라이브러리를 작성한 프로그래밍 언어

 

Linux

- ruby를 실행시키기 위한 OS

 

Docker 

- 그런 Linux를 이미지로 관리하기 위한 Container 플랫폼

 

 

결국 jekyll로 깃블로그를 만들기 위해서는 설명한 반대로 구성하면 된다

 

 

방법

 

필요한 docker.file

FROM jekyll/jekyll

MAINTAINER otch80 <minkk1224@gmail.com>

RUN \
    gem install webrick \
    bundle add webrick

 

코드모음

docker pull Jekyll/Jekyll:latest


RUN gem install webrick \ 
         bundle add webrick 


docker build -t jekyll/jekyll:latest -t jekyll/jekyll:v0.1 .


docker run --name blog --volume="$PWD:/srv/jekyll" -p 4000:4000 -it jekyll/jekyll:v0.1 jekyll build 


Docker container rm -f blog