Docker,Jenkins

    Docker와 springboot,mysql Docker Compose로 올려서 사용하기

    🔎 Springboot 프로젝트 설정 도커 환경에서 DB를 사용하는 애플리케이션 구동을 목표로 하므로 최대한 간단하게 프로젝트를 구성해볼께요. springboot 프로젝트는 사용자에게 글을 입력받으면 DB에 저장하고 목록을 확인할 수 있는 아주 간단한 구조입니다. 🔎 springboot 설정파일 (application.yml) datasource의 url 부분에서 호스트 부분 설정을 잘 해주셔야 합니다. 현재 호스트가 db-mysql로 되어 있는데 이 호스트명은 앞으로 도커환경에서 mysql이 구동되는 컨테이너의 이름입니다. spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://db-mysql:3306/mydb?..

    Container Volume 이란 ?

    Container Volumn이란 ? Container image는 Read ONLY 속성을 가지고 있다.(수정 불가 !) 이러한 image를 run 하게 되면 , 하나의 process 가 된다. Container Image 는 Read ONLY이지만,Run 된 Container에는 rw(read & write) layer 가 생성 모든 데이터는 rw layer 에 쌓이게 된다. 하지만 ro와 rw는 하나인 것 처럼 보여주는데 이를 Union File System라고 한다. docker rm으로 도커 컨테이너를 삭제했다고 해보자. 이럴 경우, ro & rw layer모두 사라지게 된다. ( 따라서 rw에 저장되었던 모든 데이터도 함께 사라지게 된다 ) 이러한 상황을 막기 위해, 영구적으로 보존하기 위한 ..

    Container Monitoring Tool

    docker stat 컨테이너의 runtime 통계 확인 ex) docker stats [OPTIONS][Container...] docker event Docker HOST의 실시간 event 정보 수집 후 출력 docker events -f container= docker image -f container= cAdvisor (구글에서 만든 docker 모니터링 툴) https://github.com/google/cadvisor

    Docker 리소스 관리

    Container 하드웨어 리소스 제한 Container 기본적으로 호스트 HW 사용 제한이 없다(따로 걸어 놓지 않는 이상) Docker command 를 통해 제한할 수 있는 리소스 CPU Memory Disk I/O docker run --help 이를 통해 다양한 리소스 제한 명령어를 확인할 수 있다. 1. Memory 리소스 제한 옵션의미 –memory, -m 최대 메모리양 지정 –memory-swap 스왑 메모리 영역에 대한 설정. “메모리+스왑” 합친 값 ( 생략 시, 메모리의 2배 만큼 ) –memory-reservation –memory 값 보다 적은 값으로 구성하는 soft 제한 설정 –oom-kill-disable OOM killer가 프로세스를 kill하지 못하도록 보호 docker..