Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코틀린 코루틴의 정석
- PETERICA
- Pinpoint
- mysql 튜닝
- IntelliJ
- Linux
- 정보처리기사 실기
- 정보처리기사실기 기출문제
- CKA
- 오블완
- CloudWatch
- kotlin coroutine
- Kubernetes
- 정보처리기사 실기 기출문제
- 기록으로 실력을 쌓자
- Spring
- Java
- minikube
- kotlin querydsl
- kotlin
- MySQL
- AWS EKS
- kotlin spring
- 티스토리챌린지
- APM
- 공부
- aws
- Elasticsearch
- CKA 기출문제
- AI
Archives
- Today
- Total
피터의 개발이야기
Jekyll 블로그 Docker로 만들기 본문
반응형
ㅁ 들어가며
무료 개인 사이트를 구축하기 위해 Jekyll로 기동하는 minimal-mistakes 테마는 개인 블러그들 사이에서 자주 볼 수 있다. 나의 peterica.github.io도 이 테마를 이용하여 사이트를 운영 중인데, 로컬 환경에서 다른 개발과 충돌이 일어날 때가 많았다. 그래서 minimal-mistakes 테마를 git clone하여 docker로 만드는 과정을 정리하였다.
ㅁ Git Clone
$ git clone https://github.com/mmistakes/minimal-mistakes.git
ㅁ Dockerfile 작성
# 폴더 이동
$ cd ./minimal-mistakes
# Dockerfile 작성
$ cat Dockerfile
FROM ruby:3.0
WORKDIR /srv/jekyll
VOLUME /srv/jekyll
ㅇ 최초 ruby와 워크경로만 지정하여 컨테이너를 구성한다.
ㅁ Docker build
# blog 이름으로 이미지를 만든다.
$ docker build -t blog .
[+] Building 44.9s (7/7) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
..................... 0.0s
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/w63krlkr4x1ab72wt9t42926m
# 이미지 확인
$ docker image ls | grep blog
blog latest 975c3049afdb 2 hours ago 881MB
ㅇ 이미지를 빌드업한다.
ㅁ docker blog 컨테이너 bundle install 수행
# minimal-mistakes 현재 폴더 기준으로 bundle install한다.
$ docker run --volume="./:/srv/jekyll" -it blog bundle install
ㅇ jekyll를 하기 위해서는 bundle install 과정이 필요하다.
ㅇ 도커환경에서 빌드를 완료하고 이를 다시 도커이미지로 만들어야 한다.
ㅇ 정상적으로 bundle install이 완료되었다.
ㅁ install된 파일을 합쳐 이미지화
# bundle config를 지정하여 bundle install을 하기 위해
# Dockerfile 수정
$ cat Dockerfile
FROM ruby:3.0
RUN bundle config --global frozen 1
WORKDIR /srv/jekyll
COPY Gemfile Gemfile.lock minimal-mistakes-jekyll.gemspec ./
RUN bundle install
VOLUME /srv/jekyll
# 빌드
$ docker build -t blog .
ㅇ 빌드까지 완료된 이미지를 완성하였다.
ㅇ 이제 실행을 위한 docker-compose.yml을 작성한다.
ㅁ Docker 실행을 위한 docker-compose.yml 생성
$ cat docker-compose.yml
version: "3.0"
services:
dev:
container_name: blog
image: blog
command: ["jekyll", "serve", "--incremental", "--livereload"]
ports:
- "4000:4000"
- "35729:35729"
volumes:
- ./:/srv/jekyll
ㅁ _config.yml에 서버 port와 host 추가
port: 4000
host: "0.0.0.0"
ㅁ docker run
# docker를 실행한다.
# 로그를 바로 확인하기 위해 -d(백그라운드) 옵션은 추가하지 않았다.
$ docker-compose up
# 백그라운드 모드 기동
$ docker-compose up -d
[+] Running 1/1
✔ Container minimal-mistakes-dev-1 Started
ㅁ 접속테스트
ㅇ localhost:4000접속 테스트를 진행하였다.
ㅁ 함께 보면 좋은 사이트
반응형
'LifeStory > 블로그' 카테고리의 다른 글
[블로그] Github Action 사용법, undefined method excerpt_separator 빌드 오류 해결 (3) | 2024.02.11 |
---|---|
Git 블러그 Typora로 이미지 업로드 방법 (0) | 2024.02.08 |
[블로그] 티스토리 네이버 검색 등록 (1) | 2024.01.23 |
[블로그] 티스토리 네이버 애널리틱스 연결 (0) | 2024.01.23 |
[블로그] 티스토리 구글 애널리틱스 연결하기 (0) | 2024.01.23 |
Comments