일반
2021.02.23 09:43
MKDocs (3) - Docker로 실행하기
다물칸 주소복사
조회 수 44 추천 수 0 댓글 0
구분 | 팁&트릭 |
---|---|
출처 | 내가작성 |
목차
실행하기 지만, 필자가 사용하고 있는 Docker 빌드 쉘 스크립트와 실행 쉘 스크립트를 소개하겠다.
시나리오는 다음과 같다.
1) Gitlab 또는 Github의 MKDocs 소스를 내려받는다. (이미 Build가 되어 있어야 함)
2) Dockerfile을 빌드한다. (Build할 때 MKDocs의 빌드된 폴더를 컨테이너에 복사)
3) 도커 이미지를 기반으로 실행
다음은 Build Shell Script 다. 필자는 CentOS7(Linux)를 서버로 사용하기 때문에 감안해서 보면 된다.
mkdir -p ${PWD}/dockerfiles/src export SOURCE_PATH=${PWD}/dockerfiles/src export IMAGE_NAME=enjoydevdocs export SOURCE_VER=1.0.0 export SOURCE_GITPATH=[[깃랩 또는 깃헙 주소를 입력]] git config --global user.name "[[깃랩 또는 깃험 ID]]" git config --global user.email "[[깃랩 또는 깃헙 이메일]]" git config --global credential.helper 'cache --timeout 2592000' function gitPullSrc() { cwd=${PWD} if [ -d ${SOURCE_PATH} ]; then echo " ++ Deleting.. Source Folder" echo " -> ${SOURCE_PATH}" rm -rf ${SOURCE_PATH} fi git init $SOURCE_PATH git config credential.helper store cd $SOURCE_PATH git remote add -f origin $SOURCE_GITPATH git pull origin master make html cd $cwd } function buildDocker() { docker rmi -f $IMAGE_NAME:$SOURCE_VER docker build . --tag $IMAGE_NAME:$SOURCE_VER } echo " ++ Build Starting..." gitPullSrc buildDocker echo " ++ End build."
대충 보면 git에서 소스 받아서(기존 폴더있으면 삭제) 빌드하는 루틴으로 되어 있다.
다음은 실행 스크립트
docker rm -f enjoydevdocs docker run -d --name enjoydevdocs --net bridge --restart=always \ -v /usr/share/zoneinfo/Asia/Seoul:/etc/localtime:ro \ -p 30080:8000 \ enjoydevdocs:1.0.0
기존 컨테이너를 제거하고 실행한다. 동적으로 파일이 바뀌는 일이 없는 컨테이너이기 때문에 재시작을 하더라도 자료가 유실되는 일은 없다.
포트는 왼쪽이 외부(컨테이너 입장에서 외부; 호스트)포트, 오른쪽이 내부(컨테이너 입장에서 내부; 컨테이너) 포트이다.
컨테이너 내부에서는 8000포트를 사용하고 그것을 호스트의 30080 포트로 포트 포워딩을 하겠다는 의미이다.
즉, 실행 후, 호스트의 아이피에 30080으로 연결하면 된다. 호스트 아이피가 192.168.0.100 이라면
http://192.168.0.100:30080 으로 접근하면 된다.