Dockerfile이란 무엇입니까? (도커 시리즈 - III)

빠진 것이 있으면 댓글에 친절하게 추가하십시오.
  • Docker 엔진에 대한 일련의 명령 또는 이미지를 어셈블하는 일련의 명령
  • Docker와 상호 작용하고 컨테이너를 마이그레이션하는 기본 방법입니다.
  • 각 순차 명령은 개별적으로 처리되며 결과는 레이어 스택으로 저장됩니다. 파일 시스템에서 관리하는 이 순차 계층은 도커 이미지가 됩니다.
  • 순차 계층은 캐시에 도움이 되고 문제 해결에 도움이 됩니다. 이 미리 생성된 계층은 어떤 단계에서 동일한 계층을 가진 두 개의 docker 파일을 실행할 때 docker 데몬에서 재사용됩니다.

  • 체재:




    ARG
    FROM
    RUN
    ADD|COPY
    ENV
    CMD
    ENTRYPOINT
    EXPOSE
    


    확장자가 필요하지 않으며 모든 텍스트 편집기에서 만들 수 있으며 도커 파일 이름을 대문자 'D'로 시작하는 것이 좋습니다.

    예시:




    ARG VERSION=16.04
    FROM Ubuntu:${VERSION}
    RUN apt-get update -y
    CMD ["bash"]
    


    Dockerfile의 주석은 '#'을 사용하여 표시됩니다. 그러나 모든 해시 앞 문장은 주석이 아닙니다. 그것은 또한 파서 지시어를 의미합니다.

    파서 지시문
    docker 명령 중 하나인 parser 지시문은 docker 파일을 처리하거나 읽어야 하는 방법을 나타냅니다. 파일의 맨 위에 있어야 합니다.

    파서 유형:
  • 구문: buildKit에서만 사용할 수 있지만 사용됨
    dockerfile의 위치를 ​​알고 싶습니다.
  • escape: 어디에서나 사용할 수 있으며 다음을 지정하는 데 사용됩니다.
    탈출하는 캐릭터. 기본값은 '\'입니다.

  • 명령:

  • ARG는 FROM 앞에 올 수 있는 유일한 명령입니다
  • .

  • FROM은 단일 Dockerfile 내에서 여러 번 나타나 여러 이미지를 만들거나 하나의 빌드 단계를 다른 빌드 단계의 종속성으로 사용할 수 있습니다.

  • WORKDIR Run, cmd, copy 작업 디렉토리를 설정합니다. 기본적으로 WORKDIR은 지정하지 않으면 생성됩니다.

  • 현재 레이어 위에 있는 새 레이어에서 명령을 실행하려면 RUN
    RUN ["실행 파일", "param1", "param2"]. (exec 형식) 셸 기반에 관계없이 명령을 실행하는 또 다른 방법입니다. 예: RUN ["/bin/bash", "-c", "echo hello"].

  • ADD src에서 새 파일을 추가하고 dest에 복사합니다. 도커 이미지에 복사하는 데 사용됩니다. 주의해서 사용해야 합니다.
  • COPY docker 컨테이너에 복사하는 데 사용되는 새 파일을 src에서 dest로 복사합니다.

  • Env 환경 변수에 대한 값 제공

  • CMD 쉘에서 명령을 실행하는 데 사용
    docker 파일은 CMD에만 포함될 수 있습니다. 지정된 마지막 final이 둘 이상 실행되는 경우입니다.

  • 진입점 컨테이너가 시작될 때 명령을 실행하는 데 사용됨

  • 노출은 특정 프로토콜을 사용하여 특정 포트를 노출합니다
  • .

    좋은 웹페이지 즐겨찾기