CICD/Docker

· CICD/Docker
도커파일은 text-based 문서이며 컨테이너 이미지를 생성하는 데에 필요한 Instructions들 모음이다.아래 예시를 보며 이해해보자.FROM python:3.12WORKDIR /usr/local/app# Install the application dependenciesCOPY requirements.txt ./RUN pip install --no-cache-dir -r requirements.txt# Copy in the source codeCOPY src ./srcEXPOSE 5000# Setup an app user so the container doesn't run as the root userRUN useradd appUSER appCMD ["uvicorn", "app.main:app",..
· CICD/Docker
Container가 독립적인 프로세스이면 해당 프로세스가 실행할 코드, 파일, 라이브러리, Dependencies 등은 어디서 가져와서 실행할까.이를 해결하기위해 이미지라는 개념이 나왔다.도커 이미지란 컨테이너를 실행시키기위해 파일, configuration, libraries, binaries 등을 포함한 규격화된 패키지다.이미지의 두 가지 원칙이미지는 불변하다. 한번 생성되었으면 수정될 수 없다. 새로운 이미지를 생성하거나, 변경된 부분을 이미지의 위에 추가한다. → 변경된 부분을 위에 추가하는 것이 layer.컨테이너 이미지는 Layers의 조합이다. 각 Layer는 파일들의 수정, 제거, 추가 등의 파일 시스템의 변경사항에 대한 집합이다. layer은 읽기전용이고 독립적으로 저장되고 컨테이너를 실..
· CICD/Docker
ContainerWhat is Container?Container는 App Component 단위로 실행되는 독립적인 프로세스이다.Host machine으로부터 독립적이고 의존하지 않는다. 즉 Host Machine → 내가 작업하고 있는 로컬 노트북이 되겠다. 뭐 클라우드상에 존재하는 인스턴스일 수도 있고.. 아무튼 동일한 환경에서 동작할 수 있도록 존재하는 것이 Container다. 특징Self-Contained각 컨테이너는 Host Machine에 깔려있는 것에 의존하지 않고 실행할 수 있도록 dependency 들을 자체적으로 갖고있다.Isolated각 컨테이너들은 고립적으로 실행되고, host나 다른 컨테이너에 영향을 적게 미친다. 이를 통해 어플리케이션의 보안이 강화됨Independent각 컨..
용용98
'CICD/Docker' 카테고리의 글 목록