익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
도커파일
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
도커파일(Dockerfile)은 도커 이미지(Docker image)를 자동으로 빌드하기 위해 필요한 명령들을 순서대로 나열한 텍스트 파일이다. ==정의== 도커파일은 도커 엔진이 이미지 생성 시 실행할 모든 명령을 담고 있는 텍스트 문서이며, 명령어 하나하나가 이미지의 레이어(layer)를 구성한다. ==주요 지시어(Instructions)== 도커파일에는 다음과 같은 지시어들이 가장 일반적으로 사용된다: *'''FROM''' – 빌드의 기반이 되는 베이스 이미지를 지정한다. 도커파일은 반드시 이 지시어로 시작해야 한다. *'''RUN''' – 이미지 빌드 과정 중에 쉘 명령을 실행하여 설치 및 구성 작업을 수행한다. *'''COPY''' / '''ADD''' – 호스트의 파일 또는 디렉토리를 이미지 내부로 복사한다. ADD는 URL 및 압축 파일 자동 풀기 기능도 지원한다. *'''WORKDIR''' – 이후 지시어들(RUN, CMD 등)이 실행될 작업 디렉토리를 설정한다. *'''ENV''' – 환경 변수 설정. *'''EXPOSE''' – 컨테이너가 사용하는 네트워크 포트를 명시. *'''ENTRYPOINT''' / '''CMD''' – 컨테이너 시작 시 실행될 기본 명령을 지정한다. ENTRYPOINT는 고정 실행이 가능하며, CMD는 기본 실행 명령으로서 덮어쓰기 가능하다. *이 외에도 '''LABEL''', '''USER''', '''VOLUME''', '''HEALTHCHECK''', '''ARG''', '''ONBUILD''' 등 다양한 지시어들이 존재한다. ==쓰기 방식 및 형식== 도커파일은 대문자 지시어와 인수를 활용한 다음 형식으로 작성한다:<syntaxhighlight lang="dockerfile"> # 주석 INSTRUCTION arguments </syntaxhighlight>주석은 `#`로 시작하며, 파서는 이를 무시한다. ==예제== 간단한 Python 애플리케이션용 예시 도커파일:<syntaxhighlight lang="dockerfile"> FROM python:3.13 WORKDIR /usr/src/app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY src/ ./src EXPOSE 5000 CMD ["python", "src/main.py"] </syntaxhighlight>이 도커파일은 베이스 이미지 지정, 작업 디렉토리 설정, 의존성 설치, 코드 복사, 포트 노출, 실행 명령 지정 등의 일반적인 흐름을 보여준다. ==작성 시 권장 모범 사례== *필요한 지시어를 하나의 RUN으로 결합해 레이어 수를 최소화한다. *빌드 단계를 최적화하고, 불필요한 파일은 제거하여 이미지 크기를 줄인다. *유지보수성과 효율성을 고려해 Dockerfile 리팩터링을 정기적으로 수행한다. 예컨대 자동화된 리팩토링 도구를 활용하면 이미지 크기와 빌드 시간을 유의미하게 줄일 수 있다. *지시어 순서를 재구성해 CI/CD 환경에서 반복 빌드시 효율을 높이는 전략도 가능하다. ==같이 보기== *[[Docker (소프트웨어)]] *[[컨테이너 이미지]] *[[CI/CD]] *[[인프라 코드]] *[[컨테이너 레지스트리]] ==참고 문헌== *Docker Docs, “Dockerfile reference” *Docker Docs, “Writing a Dockerfile” *Medium, “A Dockerfile is the basic concept for building Docker images” *Sealos Blog, “What Is a Dockerfile? Complete Guide to Docker Image Creation” *arXiv, “Refactoring for Dockerfile Quality: A Dive into Developer Practices and Automation Potential” *arXiv, “Doctor: Optimizing Container Rebuild Efficiency by Instruction Re‑Orchestration” ==각주== [[분류:가상화]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록