사용자 도구

사이트 도구


docker:build

Docker Image Build

Docker Image Build 하기 및 올리기

한 컨테이너에서 다중 프로세스 실행

ENTRYPOINT

Timezone 보정

from Docker Container time & timezone (will not reflect changes)

ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
  • tzdata 패키지 없을 경우 미리 설치할 것.

JAVA JMX

JMX_PORT…port, …rmi.port 두 군데 지정해주고, hostname에 Host의 IP를 지정해준다.

-Dcom.sun.management.jmxremote=true \
    	-Dcom.sun.management.jmxremote.port=$JMX_PORT \
    	-Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT \
    	-Dcom.sun.management.jmxremote.ssl=false \
    	-Dcom.sun.management.jmxremote.authenticate=false \
    	-Djava.rmi.server.hostname=$HOST_IP"

docker 실행시 JMX_PORT-p로 노출시킨다.

Latest 올리기

Local에 있는 빌드에 버전이 있는 tag 와 :latest 태그를 함께 만들고 둘 다 push 하면 된다. tag가 달라도 이미 push 된 데이터가 있으면, 중복 Push하지 않기 때문에 데이터가 중복저장되거나 하지는 않는다.

docker build --tag my/name:customversion .
docker tag my/name:customversion my/name:customversion
docker tag my/name:customversion my/name:latest
docker push my/name:customversion
dpcler push my/name:latest

Multi Stage Build

  • 소스에서 바이너리를 빌드 한 뒤에 실제로 필요한 바이너리만 최종 Docker 이미지로 만들거나 할 수 있는 방식
docker/build.txt · 마지막으로 수정됨: 2017/07/04 09:12 저자 kwon37xi