목록Docker (4)
개발 공부
Docker Compose는 여러 컨테이너를 함께 관리하고 설정할 수 있는 강력한 도구입니다. 본 포스트에서는 Docker Compose를 활용하여 네트워크 구성, 데이터베이스 연결, 그리고 전체적인 파일 로드 방식을 다루겠습니다.1. 네트워크 컨텍스트 이해하기Docker Compose에서 네트워크는 각 서비스가 서로 통신할 수 있도록 연결을 설정하는 핵심 요소입니다. 기본적으로 Docker Compose는 자체 네트워크를 생성하며, 각 컨테이너는 이름 기반으로 다른 컨테이너에 접근할 수 있습니다.bridge 네트워크: Docker Compose의 기본 네트워크로, 같은 Compose 프로젝트 내의 컨테이너가 서로 통신할 수 있습니다.host.docker.internal: 로컬 머신에서 실행 중인 호스트..
Docker 실행과 컨테이너 및 포트의 관계Docker 실행 절차Docker 설치: Windows에서는 Docker Desktop을 설치.Docker CLI 실행:Windows에서는 Docker Desktop 설치 시 docker.exe가 PATH에 추가됨.cmd, PowerShell, 또는 WSL2 환경에서 docker 명령어 실행 가능.컨테이너의 구조컨테이너는 폴더 형식이 아님: Docker는 컨테이너를 독립적인 실행 환경으로 관리하며, 파일 시스템은 호스트 OS의 특정 디렉터리에 매핑할 수 있습니다 (예: -v 옵션으로 볼륨 연결).컨테이너 실행:docker run 명령어로 실행하면 Docker 데몬이 컨테이너를 시작.3000:3000은 호스트 포트:컨테이너 포트를 매핑하는 설정.컨테이너와 포트컨테..
리눅스 컨테이너 사용과 운영 환경 선택리눅스 컨테이너 사용의 일반적인 경우애플리케이션 개발 및 테스트: 가벼운 환경에서 애플리케이션을 테스트하려고 할 때.운영 환경 표준화: 리눅스 기반의 애플리케이션 환경을 통일하여 호환성 문제를 줄이기 위해.CI/CD 파이프라인 구축: 애플리케이션 배포 자동화를 위해 경량화된 컨테이너를 사용.VM과 컨테이너의 차이VM(가상 머신): 하드웨어 수준에서 가상화. 독립된 OS를 실행하며 무겁고 리소스를 많이 사용.컨테이너: 애플리케이션 수준에서 가상화. 호스트 OS의 커널을 공유하여 가볍고 실행 속도가 빠름.리눅스 컨테이너 위에 Docker 실행기술적으로 가능합니다. Docker는 리눅스 컨테이너를 지원하며, 그 위에 Node.js 컨테이너를 올릴 수 있습니다.추천/비추천추..
1. Docker 컨테이너 종류 비교 및 추천Next.js 프로젝트를 Docker로 컨테이너화할 때, 보통 두 가지 환경 중 하나를 선택합니다:Node.js 기반 컨테이너: Next.js는 Node.js 서버에서 실행되므로 기본적으로 Node.js 베이스 이미지 사용이 일반적입니다.장점: Next.js 서버 실행에 최적화되어 있으며 설정이 간단합니다.추천 이미지: node:18-alpine (경량 베이스 이미지)Nginx 기반 컨테이너: Next.js 앱을 정적으로 빌드(next build && next export)하여 Nginx로 서빙하는 방식.장점: 빠르고 경량화된 정적 사이트 배포.단점: Next.js의 서버사이드 렌더링(SSR) 기능을 사용할 수 없음.추천 이미지: nginx:alpine컨테이너..