목록2024/11/30 (3)
내 잡다한 노트
**멀티스테이지 빌드(Multi-stage Build)**는 Dockerfile에서 단계별로 빌드 환경을 분리하고, 최종 실행에 필요한 최소한의 파일만 포함하여 경량화된 이미지를 생성하는 방식입니다. 멀티스테이지 빌드란?멀티스테이지 빌드는 Dockerfile 내에서 여러 베이스 이미지를 정의하고, 각 단계(stage)에서 작업을 수행하며, 최종 단계에서는 필요한 파일만 가져옵니다.빌드 도구(컴파일러, 패키지 매니저 등)는 중간 단계에서만 사용하고, 최종 이미지는 실행 파일이나 애플리케이션 코드만 포함.최종 이미지는 작고, 불필요한 파일(빌드 도구 등)이 제거된 상태로 배포. 멀티스테이지 빌드를 사용하는 이유이미지 크기 최소화빌드 과정에서 필요한 도구(예: gcc, make)가 최종 이미지에 포함되지 않..
Dockerfile 최적화는 이미지 크기를 줄이고, 빌드 속도를 개선하며, 실행 성능과 보안을 강화하는 데 중점을 둡니다. 잘 최적화된 Dockerfile은 효율적인 CI/CD 파이프라인과 배포 환경을 구축하는 데 필수적입니다. 1. 이미지 크기 줄이기2. 빌드 속도 개선3. 실행 성능4. 보안 이걸 중점으로 최적화를 하도록 하자. 1. 이미지 크기 최적화(1) 경량 베이스 이미지 사용항상 필요한 최소한의 구성 요소만 포함된 경량 베이스 이미지를 사용합니다.예:ubuntu 대신 debian:slim 또는 alpine 사용.Python 프로젝트의 경우 python:3.9-slim 사용. (2) 멀티스테이지 빌드빌드 단계와 실행 단계를 분리하여 최종 이미지에서 불필요한 빌드 도구를 제외.멀티스테이지 빌드..
tmux는 터미널 멀티플렉서로, 하나의 터미널에서 여러 세션을 실행하거나, 세션을 유지하고 다시 연결할 수 있도록 도와줍니다. 다음은 tmux를 효율적으로 사용하기 위해 자주 쓰이는 명령어와 설명입니다. 기본 tmux 명령어1. 세션 관리새 세션 생성새로운 tmux 세션을 생성하고 이름을 지정합니다.tmux new -s 현재 세션에서 분리세션에서 빠져나오지만, 세션은 백그라운드에서 계속 실행됩니다.Ctrl-b d세션 목록 보기실행 중인 모든 tmux 세션을 표시합니다.tmux list-sessions 기존 세션에 연결특정 세션에 다시 연결합니다.tmux attach -t 세션 종료세션 안에서 exit을 입력하여 종료.exit