RedHat OpenShift/기술문서

[빌드] Dockerfile 빌드

알 수 없는 사용자 2017. 5. 24. 14:59

[ OpenShift Docker Build ]


Dockerfile을 이용한 빌드방법이다. github 또는 gitlab 등 SCM에 dockerfile을 등록하여, openshift 빌드시 해당 git URL을 참고해 빌드한다.


1. dockerfile 만들기

FROM docker.io/zerosizer/eap70-khan


USER root


ENV AUTO_DEPLOY_EXPLODED true


ADD jboss-spring-petclinic.war /opt/eap/standalone/deployments/jboss-spring-petclinic.war


RUN chown -R jboss:jboss /opt/eap/standalone/deployments/


USER 185


# Start the main process

CMD ["/opt/eap/bin/openshift-launch.sh"] 


2. github에 등록하기
https://github.com/zerosizer/dockerbuild2


3. 탬플릿 만들기

vi eap70-docker-s2i.json

"spec": {

    "source": {
        "type": "Git",
        "git": {
            "uri": "${SOURCE_REPOSITORY_URL}",
            "ref": "${SOURCE_REPOSITORY_REF}"
        },
        "contextDir": "${CONTEXT_DIR}"
    },
    "strategy": {
        "type": "Docker",
        "dockerStrategy": {
            "dockerfilePath": "Dockerfile"
            }

    },
    "output": {
        "to": {
            "kind": "ImageStreamTag",
            "name": "${APPLICATION_NAME}:latest"
        }
    },



4. 템플릿 등록하기

# oc create -f eap70-docker-s2i.json -n openshift
template "eap70-docker-s2i" created



5. 빌드/배포하기



- THE END -