728x90
반응형
목차
실행하기 지만, 필자가 사용하고 있는 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 으로 접근하면 된다.
반응형
'써드파티 도구 > 유용한 도구' 카테고리의 다른 글
스크립트 기반 Chocolatey 설치하기 (0) | 2023.02.13 |
---|---|
[2021.08] 시놀로지(Synology) 7.0 업그레이드 경험 (0) | 2021.08.27 |
[2021.08] XCopy 사용법 (0) | 2021.08.06 |
[2021.02] MKDocs (1) - 소개 및 설정방법 (0) | 2021.02.23 |
[2021.02] MKdocs (2) - Docker로 Build하기 (0) | 2021.02.22 |