개발(IT)관련/server

도커 활용

쪼방이 2019. 5. 13. 17:22
반응형

도커 원격 설정

 

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock

 

//초기 설정

 export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc  

 

 

/도커파일

DockerFile

 

FROM tomcat:7-jre8

 

ENV CATALINA_OPTS="$CATALINA_OPTS -Xms64m -Xmx2048m -XX:MaxPermSize=2048m"

 

WORKDIR /usr/local/tomcat

 

RUN rm -rf ./webapps/* COPY ./target/*.war ./webapps/ROOT.war

 

EXPOSE 8081

 

CMD $CATALINA_HOME/bin/startup.sh && tail -f $CATALINA_HOME/logs/catalina.out

 

//젠킨스파일(젠킨스파이프라인)

JenkinsFile

def mvnHome
node {
    try {
        stage('Checkout') {
            checkout scm
            mvnHome = tool 'M3'
        }
        stage('Environment') {
            sh 'git --version'
            echo "Branch: dev"
            sh 'docker -v'
            sh 'printenv'
        }
        stage('Push Image') {
            sh "'${mvnHome}/bin/mvn' clean install -P production"
            sh('scripts/image.sh')
        }
        stage('Deploy') {
            sh('scripts/deploy.sh')
        }
    } catch (err) {
        throw err
    }
}

 

//image.sh

#!/bin/bash
registry='hostRegistry:5000'

docker build -t project --no-cache .
docker tag project ${registry}/project :${BUILD_NUMBER}
docker push ${registry}/project :${BUILD_NUMBER}

 

 

//deploy.sh

echo 'Pulling Image'
docker pull ${registry}/project:${BUILD_NUMBER}
docker rm -f project 
echo 'Run Container'
docker run --name project \
        -e TZ=Asia/Seoul \
        -v /home:/home \
        -p 8081:8080  \
        -v /var/log/project :/usr/local/tomcat/logs \
        -d ${registry}/project:${BUILD_NUMBER}

 

 

vi ~/.bashrc

반응형

'개발(IT)관련 > server' 카테고리의 다른 글

도커파일 Dockerfile  (0) 2019.06.05
open-jdk 설치  (0) 2018.11.08