Dockerfile 기본 구축 원리와 주요 명령어 활용법

Dockerfile 와 컨테이너화 전략 Dockerfile 은 Docker 이미지를 생성하기 위한 텍스트 기반의 스크립트 파일입니다. 이는 개별적인 설치 과정을 일일이 실행하고 docker commit을 사용하여 수동으로 저장을 반복하는 방식에서 벗어날 수 있게 합니다. commit 방식은 간단한 테스트에는 유용할 수 있으나, 환경 변화가 잦거나 복잡한 요구사항이 있는 상황에서는 재현성과 ...

8월 2일 23:09에 게시됨

Docker Context를 활용한 멀티 환경 관리 및 격리 방법

docker context는 로컬 개발 환경, 원격 서버, Docker Swarm 클러스터 또는 Kubernetes와 같이 서로 다른 Docker 실행 환경을 효율적으로 관리하고 전환할 수 있게 해주는 기능입니다. 이를 통해 개발자는 터미널 하나에서 여러 인프라 환경을 안전하게 격리하고 빠르게 오가며 작업할 수 있습니다. 1. 전체 컨텍스트 목록 확인 (조회) 현재 구성된 모든 컨텍스트와 연결 ...

8월 2일 17:07에 게시됨

Docker - 이미지 빌드: Dockerfile 작성 및 실행

Dockerfile 소개 Docker Hub에는 직접 사용 가능한 서비스 이미지, 언어 애플리케이션 이미지, 기본 운영체제 이미지 등 고품질의 공식 이미지가 다수 제공되어 대부분의 요구사항을 충족합니다. 또한, 실제 사용 환경에 맞는 특정 요구사항을 충족하기 위해 사용자 정의 이미지를 생성할 수도 있습니다. 사용자 정의 이미지는 기본적으로 기존 이미지를 기반으로 각 레이 ...

7월 29일 11:01에 게시됨

Docker - 컨테이너 상태를 기반으로 이미지 생성하기

Docker의 이미지는 계층 구조로 구성되며, 각 층은 이전 층을 기반으로 변경된 내용을 포함합니다. 컨테이너는 이러한 이미지 계층 위에 추가적인 저장 레이어를 통해 동작합니다. 데이터 볼륨을 사용하지 않는 경우, 컨테이너 내에서 수행된 파일 수정 사항은 모두 컨테이너의 저장 레이어에 기록됩니다. 일반적으로 새로운 이미지를 처음부터 만드는 경우는 드물며, 대부 ...

7월 11일 19:00에 게시됨

Docker 핵심 가이드: 컨테이너 가상화부터 이미지 빌드까지

Docker 개요 컨테이너 기술의 탄생 DotCloud라는 스타트업이 2010년에 PaaS(Platform as a Service) 형태로 서비스를 시작하면서 등장했다. 2013년 오픈소스로 공개된 후 기업명도 Docker Inc.로 변경되면서 지금의 모습을 갖추게 되었다. Linux Container(LXC)라는 커널 수준의 경량 가상화 기술을 기반으로 하며, Go 언어로 개발되었다. 핵심 철학은 "소프트웨어 운영 ...

7월 6일 03:20에 게시됨

Maven 플러그인을 활용한 SpringBoot 애플리케이션 Docker 이미지 구축

개요 본 문서에서는 Maven 플러그인을 활용하여 SpringBoot 애플리케이션을 Docker 이미지로 패키징하고, 사설 레지스트리에 업로드하는 과정을 상세히 설명합니다. Docker 명령어에 익숙하지 않은 개발자는 먼저 기본 Docker 명령어 관련 자료를 참고하시기 바랍니다. Docker Registry Docker Registry 2.0 설치 docker run -d -p 5000:5000 --restart=always --name my ...

7월 3일 03:39에 게시됨

Harbor - Docker 비공개 레지스트리 구축 가이드

사전 요구사항 Docker 버전 17.06.0 이상, docker-compose 버전 1.18.0 이상이 필요하다. Harbor 설치 과정 설치 파일은 공식 GitHub 저장소(https://github.com/goharbor/harbor/releases)에서 다운로드할 수 있다. 1. 압축 해제 # tar -xvf harbor-offline-installer-v1.9.4.tgz -C /usr/local/ 2. 환경 설정 파일 수정 harbor.yml 파일을 열어 필요한 설정을 구 ...

6월 16일 01:14에 게시됨

Linux cgroups를 활용한 리소스 격리 기술 분석

cgroups 기반의 자원 제한 메커니즘 컨테이너 기술에서 핵심적인 역할을 하는 Control Groups (cgroups)는 리눅스 커널이 제공하는 자원 관리 시스템입니다. Docker는 이 기술을 기반으로 각 컨테이너에 대해 메모리, 프로세스, CPU 등 다양한 자원을 세밀하게 제어합니다. 기본 동작 원리 컨테이너 생성 시, Docker는 내부적으로 해당 컨테이너의 고유 ID를 이름으로 하 ...

6월 14일 00:59에 게시됨

컨테이너 환경 관리를 위한 Docker 핵심 가이드

호스트와 컨테이너 간 파일 전송 컨테이너에서 로컬 머신으로 데이터를 옮길 때 docker cp를 활용합니다. 다음은 대상 경로를 지정하는 기본 문법입니다. docker cp <대상_컨테이너>:<내부_경로> <호스트_저장위치> 실제 사용 예시: docker cp web_app:/var/log/nginx/access.log /home/admin/logs/access.log 반대로 호스트의 파일을 컨테이너 내부로 ...

6월 10일 22:13에 게시됨

mydocker에서 데이터 볼륨 마운트 기능 구현

이 글은 mydocker 프로젝트를 통해 컨테이너의 데이터 지속성을 구현하는 과정을 설명합니다. 특히 -v 옵션을 활용해 호스트 시스템의 디렉터리를 컨테이너 내부에 마운트하는 방식으로, 컨테이너 종료 후에도 데이터가 유지되도록 구현했습니다. 기본 개념: bind mount bind mount은 하나의 파일 시스템 위치를 다른 위치에 연결하는 기술입니다. 이는 두 디렉터리 간에 ...

5월 28일 00:01에 게시됨