GitHub

Docker 6

이미지 경량화의 여정(2) - Jdeps와 Jlink

다른 도전2025.09.21 - [Container & Orchestration/Docker] - 이미지 경량화의 여정(1) - Distroless에 대하여 이미지 경량화의 여정(1) - Distroless에 대하여개요최근에 컨테이너를 공부하고 있다. 자주 다루는 기술을 단순히 "해봤다"에 그치지 않고 더 깊이 있게 이해하려 한다.오늘 다루는 주제인 컨테이너 이미지 경량화가 그 일환이다.컨테이너 이aitidev.tistory.com 지난 번에는 Distroless 이미지를 사용한 과정과 결과에 대해 포스팅했다.이번에는 또 다른 방법으로 이미지 최적화를 진행해볼 생각이다. 바로 jdeps와 jlink를 이용한 방법이다. Layered Jar를 적용한 기존 이미지에도 이를 사용할 수 있는지 알아보겠다. jd..

Docker 2025.10.22

이미지 경량화의 여정(1) - Distroless에 대하여

개요최근에 컨테이너를 공부하고 있다. 자주 다루는 기술을 단순히 "해봤다"에 그치지 않고 더 깊이 있게 이해하려 한다.오늘 다루는 주제인 컨테이너 이미지 경량화가 그 일환이다.컨테이너 이미지는 가벼울수록 보안과 비용적인 측면에서 이점이 크다. 일단 가벼운 이미지는 차지하는 공간이 적다. 예를 들어 ECR에 이미지를 저장해둔다면 그만큼 저장에 따른 비용을 감소할 수 있다. 네트워크 전송 비용도 마찬가지다. 또한 작은 사이즈는 그만큼 공격할 수 있는 표면이 적다. 따라서 경량화는 꼭 필요한 엔지니어링이다.비용을 보면 이미지 사이즈가 크면 클수록 많은 요금이 부과됨을 알 수 있다.참고로 ECR의 비용 발생 요인은 저장과 인터넷으로의 송신량이다. 자세한 사항은 소개페이지에서 확인할 수 있다. 본론으로 돌아와서 ..

Docker 2025.09.22

Docker Container는 어떻게 격리성을 갖출까?

의문의 시작점2025.07.29 - [Container & Orchestration/Docker] - Docker, 보안, 그리고 이미지 최적화 Docker, 보안, 그리고 이미지 최적화배경프로젝트 진행 중에 컨테이너 이미지 보안에 관련해서 지적을 받았기에 조치를 진행하고 있었다. 문득 이보다 더 효율적으로 만들 수 있지 않나 싶었다. 이미지 크기를 줄이고 캐시까지 적aitidev.tistory.com이전에 작성한 글에서 언급하지 않았었다. Docker에 빌드 과정이나 캐싱에 대해 알아보는데(캐싱은 더 공부가 필요하다..) 점점 Docker의 동작 원리에 관심이 가기 시작했다. 문득 Docker가 어떻게 호스트와 격리된 공간, 컨테이너를 만드는지 궁금했다.호스트 OS 커널을 빌려 사용한다는 건 알겠는데 ..

Docker 2025.09.10

Docker, 보안, 그리고 이미지 최적화

배경프로젝트 진행 중에 컨테이너 이미지 보안에 관련해서 지적을 받았기에 조치를 진행하고 있었다. 문득 이보다 더 효율적으로 만들 수 있지 않나 싶었다. 이미지 크기를 줄이고 캐시까지 적용하면 CI 빌드 시간을 생각보다 단축할 수도 있을 것 같았다. 따라서 이미지 최적화를 진행하고자 했다.이 글을 볼 사람들에게 미리 알려주자면 Github actions를 사용해 컨테이너 빌드를 진행한다. SpringDockerGithub actions 이미지 최적화진행 중인 프로젝트에서 Dockerfile의 변화가 어떻게 진행됐는지 보면서 설명하겠다.첫 번째 버전은 다음과 같다. FROM gradle:8.14.2-jdk21 AS buildWORKDIR /appCOPY gradlew .COPY gradle ./gradleC..

Docker 2025.07.29

Docker 보안 강화하기

Docker 절대 지켜요즘 해킹이다 뭐다 이야기가 많다. 몇 년이 지나고 몇 번이나 트렌드가 바뀌든 보안은 중요한 요소다. 절대적인 안전은 없으나 세심함, 노력, 능력 혹은 경각심에 따라 충분히 완전에 가까운 보안 체계를 구성할 수 있다고 생각한다. 그러니 이번에는 Docker에서 보안를 강화할 수 있도록 하는 방법을 알아보고자 한다. Docker를 기반으로 동작하는 우리 서비스를 절대 지키자. 최신 버전의 Docker간단하고도 중요한 모범 사례 중 하나가 상시 최신 버전으로 업데이트하여 알려진 취약점으로부터 시스템을 보호하는 것이다. 최신 버전은 기능 추가뿐만 아니라 간혹 중요한 보안 패치를 내포하고 있기 때문에 필수적이다. 다음은 우분투 환경에서 docker의 버전을 확인하고 최신 버전이 있다면 업그..

Docker 2025.05.01

Docker Swarm!

Docker의 Swarm이란 최근 쿠버네티스에 대해 다루었는데 이번에는 도커 자체적으로 제공하는 오케스트레이션 툴인 "docker swarm"에 대해 다루겠다! 쿠버네티스와 무엇이 다른지도 짚어볼 생각이다.도커에서도 쿠버네티스와 같이 여러 대의 서버 자원을 합쳐 하나의 클러스터로 만들어서 자원을 병렬로 확장할 수 있다. 도커 스웜은 도커 엔진 자체적으로 내장된 기능이다. 클러스터 관리, 자동화, 고가용성 및 확장성을 제공한다.아래와 같이 스웜 모드 클러스터 정보를 출력해보면 기본적으로 비활성 상태인 것을 알 수 있다.docker info | grep SwarmSwarm : inactive # 출력구조도커 스웜 모드는 기본적으로 "매니저 노드"와 "워커 노드"로 구성돼 있다. 워커 노드는 실제 컨테이너가 ..

Docker 2025.04.25
반응형