Docker를 활용한 데이터 통합(공유)
분산된 마이크로서비스 아키텍처에서 다양한 서비스들이 동일한 데이터를 접근하거나 공유하는 상황이 빈번히 발생합니다. Docker를 활용하여 컨테이너 간 데이터를 효율적으로 공유하는 방법과 데이터베이스 공유와의 차이점에 대해 설명하겠습니다. 언제 사용하면 좋을까? 컨테이너...
Docker 볼륨과 데이터 관리
Docker 볼륨은 데이터를 효율적으로 관리할 수 있는 방법을 제공합니다. 1. Docker 볼륨이란? Docker 볼륨은 Docker 컨테이너 외부에서 데이터를 저장하고 공유할 수 있는 메커니즘입니다. 이는 컨테이너가 삭제되더라도 데이터가 유지될 수 있도록 도와줍니다...
Docker Compose를 사용한 멀티 프로젝트 관리
※ 기본적인 이해를 위한 문서입니다. 구현 및 실행에 대한 내용이 아닙니다. 서버1프로젝트와 서버2프로젝트가 서로 다른 상위 디렉토리에 존재하는 경우, 각각의 프로젝트를 Dockerfile을 통해 컨테이너화하고 Docker Compose를 사용하여 이를 하나의 구성으로...
Docker 네트워킹 및 포트 매핑 가이드
Docker 네트워킹이란? Docker 네트워킹을 이해하기 위해, 컨테이너를 아파트(호)로 생각하면 됩니다. 각 아파트(컨테이너)는 같은 건물(Docker 호스트) 안에 있지만, 서로 독립적인 공간입니다. 네트워킹은 아파트(호)들이 서로 소통하고, 외부(현관문)와 연결...
Docker 컨테이너 로그 확인 및 모니터링
컨테이너 관리를 위해서 로그 확인과 모니터링은 필수입니다. Docker 로그 확인 방법 1. docker logs 명령어 사용 Docker는 기본적으로 컨테이너의 표준 출력(stdout) 및 표준 에러(stderr) 스트림을 로그로 수집합니다. docker logs 명...
[Docker Desktop] Docker 컨테이너 생성, 실행, 중지, 삭제하기!
컨테이너 생성 및 실행 (Desktop) Docker Desktop을 실행하고, 왼쪽 메뉴에서 "Images"를 클릭합니다. 상단 검색창에 nginx 를 입력하고 검색합니다. 검색 결과에서 nginx 이미지를 선택하고 "Pull" 버튼을 클릭하여 이미지를 다운로드합니다...
[Docker CLI] 컨테이너 생성, 실행, 중지, 삭제하기
컨테이너 생성 및 실행 터미널을 열고 다음 명령어를 입력하여 nginx 컨테이너를 생성하고 실행합니다 docker run --name my-nginx -p 8080:80 -d nginx --name my-nginx : 컨테이너 이름을 my-nginx 로 지정 -p 80...
[CLI] Docker 이미지에 대한 기본 개념부터 Docker Hub 활용까지
Docker 이미지란? Docker 이미지는 애플리케이션과 그 애플리케이션을 실행하는 데 필요한 모든 것(코드, 런타임, 라이브러리, 환경 변수 및 구성 파일)을 포함하는 가볍고 독립적이며 실행 가능한 소프트웨어 패키지입니다. 이미지는 읽기 전용입니다. 컨테이너는 이미...
Docker Desktop으로 이미지 관리하기
※CLI를 활용한 이미지 가져오기는 별도의 글을 작성하겠습니다. Docker Desktop은 Docker의 그래픽 사용자 인터페이스(GUI)를 제공하여 Docker 이미지를 쉽게 관리하고 Docker Hub에서 이미지를 가져올 수 있게 해줍니다. Docker 이미지 검...
Docker Compose란 무엇인가? 다중 컨테이너 관리 도구
Docker Compose 는 여러 Docker 컨테이너를 정의하고 관리할 수 있는 도구입니다. 이를 통해 복잡한 애플리케이션을 구성하는 여러 컨테이너를 쉽게 설정하고 동시에 실행할 수 있습니다. Docker Compose는 YAML 파일을 사용하여 애플리케이션의 서비...
마이크로서비스란 무엇인가?
마이크로서비스는 애플리케이션을 느슨하게 결합된 독립적으로 배포 가능한 서비스들로 구성하는 아키텍처 스타일입니다. 각 서비스는 특정 비즈니스 기능에 초점을 맞추며 독립적으로 개발, 배포 및 확장될 수 있습니다. 주요 특성 분산화: 각 서비스는 자체 코드베이스와 데이터베이...
Next.js에서 서버 액션의 바디 사이즈 제한 설정하기
웹 개발에서 서버 자원을 효율적으로 관리하는 것은 최적의 성능과 보안을 보장하는 데 매우 중요합니다. 이 중 하나가 서버 액션에서 처리하는 요청 바디의 크기를 제어하는 것입니다. 기본적으로 Next.js는 서버 액션에 대해 최대 요청 바디 크기를 1MB로 설정하여 과도...