본문 바로가기

적용 사례 정리

Docker image 빌드 시 다운로드 후 pod에서 실행하기

# Docker Image를 빌드 시 특정 파일을 다운로드 하고, 다운로드 된 파일을 yaml에 정의하여 실행하기

구성은 아래와 같다.

1. dockerfile에서 wget을 활용하여 agent 파일을 다운받는다.

- 다운받은 파일을 압축을 해제 후 root.config 파일의 127.0.0.1 내용을 3.33.333.333으로 치환하여 저장한다.

 

RUN wget https://github.com/releases/download/v2.2.0/agent.tar.gz -O - | tar -xz

RUN sed -i 's/127.0.0.1/3.33.333.333/' /agent-2.2.0/root.config

- 위와같이 이미지가 만들어지면 해당 이미지에 위에서 wget으로 다운받은 파일이 압축이 풀린 상태로 저장 및 root.config 파일의 내용이 치환되어 저장된다.

2. 다운받은 파일을 실행하는 deployment를 만든다.

        env:
          - name: JAVA_TOOL_OPTIONS
            value: >-
              -javaagent:/agent-2.2.0/bootstrap-2.2.0.jar
              -Dpinpoint.config=/2.2.0/root.config
              -Dpinpoint.applicationName=test-api
              -Dpinpoint.agentName=test-api
              -Dpinpoint.container

- 이렇게 구성이 되면 이미지를 생성할때 필요한 리소스를 다운받아 docker image로 만들수 있고 만든 이미지안에 리소스를 실행 할 수 있다.