응용 프로그램 구축, 종속성 및 서비스 설치, 자동 배포 등 - 모두 DockerFile로 시작합니다. Dockerfile의 구문, 기본에서 복잡성까지, Docker 이미지를 구축 할 때 모범 사례를 검토합시다.
이 안내서는 Docker에 Dockerfile이 제공 할 애플리케이션에 대한 최소화 된 Linux (기본 이미지)를 선택하도록 안내하고 선택한 도구 세트 및 특정 구성과 함께 제공되어 자체 Linux 배포를 효과적으로 구축하기 위해이 배포판이 옳습니다. 응용 프로그램 실행에 적합합니다.
키 포인트
Docker는 필요한 모든 바이너리, 런타임 라이브러리, 백엔드 도구, 운영 체제 조정 및 서비스를 통해 응용 프로그램을 포장하여“응용 프로그램을 구축, 전달 및 실행할 수 있습니다 즉시 전달되고 자동으로 배포됩니다.
DockerFile은 Docker에 이미지를 구축하기위한 지침이 포함 된 일반 텍스트 파일로 응용 프로그램을 구축하고 종속성 및 서비스 설치 및 자동 배포를위한 시작점입니다. DockerFile의 구문은 Apache 구성 파일의 구문과 유사하며 하나의 명령어로 처리됩니다.
Dockerfile은 Docker가 애플리케이션을 전달할 기본 이미지 (예 : 최소화 된 Linux)를 선택하도록 지시하고 선택한 도구 및 특정 구성 세트가 제공되어 응용 프로그램을 실행하는 데 적합한 사용자 정의 Linux 배포를 효과적으로 만듭니다.
dockerfile을 사용하면 특정 도구 및 라이브러리를 선택하고 설치하고, 환경 변수를 설정하고, 파일 및 디렉토리를 추가하고, 캐시 문제를 처리하는 등 컨테이너에 필요한 모든 것이 있는지 확인할 수 있습니다.
Docker 빌드 명령은 Dockerfile의 지침을 기반으로 이미지를 빌드하는 데 사용되며 Docker Run 명령은 생성 된 이미지가있는 대화식 터미널을 시작하는 데 사용됩니다.
Docker를 선택하는 이유
Docker를 사용하면 "어디에 있든 응용 프로그램을 구축, 배달 및 실행할 수 있습니다." 즉, 모든 바이너리 및 런타임 라이브러리, 백엔드 도구, 운영 체제 튜닝 및 응용 프로그램이 실행하는 데 필요한 특정 서비스를 통해 응용 프로그램을 패키지 할 수 있으며 자동으로 배송 및 배포 할 수 있습니다.
Docker 구현 소프트웨어 컨테이너 기술로 인해이를 가능하게합니다. 여기서는 그 뒤에있는 세부 사항을 다루지 않지만 Docker, 소프트웨어 컨테이너 및 Docker, 컨테이너 및보다 안전한 소프트웨어 전달에 대한 작동 방식에 대해 더 많이 읽을 수 있습니다.
Docker 설치
시작하기 전에 로컬 컴퓨터에 있든 원격 서버에 Docker를 설치해야합니다.
운 좋게도, 최신 버전의 Docker (이 글을 쓰는 시점에서 1.12 버전)는 설치 프로세스를 매우 매끄럽게 만들고 Windows, MacOS 및 Linux에 대한 간단하고 이해하기 쉬운 가이드를 얻을 수 있습니다.
dockerfile
Docker에서 이미지를 작성하려면 먼저이 빌드의 지침을 설정해야하며
컨텍스트 는 DockerFile이라는 일반 텍스트 파일 (나중에 자세한 내용)을 설정해야합니다. 이 파일에는 Apache 구성 파일과 유사한 구문이 있습니다. 한 줄 당 명령 및 해당 매개 변수는 모든 지침이 순서대로 처리됩니다. 댓글은 # 문자와 공간으로 시작합니다. 마지막으로, DockerFile이 있으면 Docker Build 명령이 이미지를 작성하여 나중에 자세히 설명합니다.
dockerfile을 쓰기 시작하기 전에 작업 공간을 설정합니다. 우리는 홈 디렉토리에서 my_image라는 디렉토리를 만들고 작업 디렉토리로 사용하고 dockerfile을 그 안에 넣을 것입니다.
이제 우리는 이미지 만들기를 시작할 준비가되었습니다. 기본 미러를 선택하십시오
이미지를 만들 때 대부분의 경우 하나의 시작점 (즉)를 사용합니다. 이것은 공식 우분투, MySQL, WordPress 또는 Docker Hub에서 사용할 수있는 기타 이미지 일 수 있습니다. 이전에 만든 이미지를 사용할 수도 있습니다.
노트
: 자신의 핵심 도구 및 디렉토리 구조가 포함 된 Docker의 최소 이미지 (스크래치라고 함)를 사용하여 자신의 기본 이미지를 만들 수 있습니다. 여기서는이 과정을 다루지 않지만 Docker 웹 사이트에서 기본 이미지 생성에 대한 안내서를 참조하십시오.
예를 들어, 최소화 된 데비안 분포로 시작하려면 Dockerfile에 다음을 추가 할 수 있습니다.
는 Dockerfile을 작성할 때 사용하는 첫 번째 지침이어야합니다. 이미지 이름의 끝에있는 version_name을 추가하여 기본 이미지의 특정 버전을 사용할 수도 있습니다. 예를 들면 :
mkdir ~/my_build
cd ~/my_build
touch Dockerfile
로그인 후 복사
로그인 후 복사
로그인 후 복사
위 코드에서는 "SID"데비안 (불안정한 배포)을 사용하고 있습니다. 이는 특정 버전의 Ruby 또는 Python 통역사, MySQL 버전 등이 필요한 경우에도 중요합니다. 이러한 도구의 공식 기본 이미지를 사용하는 경우. 현재이 안내서에서는 기본 (안정적인) 데비안 이미지를 고수합니다.
관리자를 지정하고 메타 데이터를 추가하십시오
관리자가 누구인지 지정하도록 선택할 수 있습니다. Lucero Del Alba를 귀하의 이름이나 사람 또는 구성을 담당하는 팀으로 교체 할 수 있습니다.
이것은 필요하지 않지만 레이블 지시문을 사용하여 일부 메타 데이터를 추가 할 수도 있습니다.이 지침을 사용하여 도커 검사 명령을 사용하여 이미지를 확인할 때 나중에 사용할 수 있습니다.
이 기능에 대한 자세한 내용은 Docker Object 태그를 참조하십시오.
자신만의 분포를 만듭니다 <🎜
<<>
<,>이 시점에서, 우리는 컨테이너에 예상 조치를 수행하는 데 필요한 모든 것을 갖도록 거울에 포함 할 도구와 라이브러리를 선택합니다. 이 튜토리얼이 끝나면 실제로 Linux 배포를 구축하는 데 매우 가까운 작업을 수행합니다. <(> 일부 컨테이너 (예 : PostgreSQL 데이터베이스를 실행하는 컨테이너)는 백그라운드에서 실행되도록 설계되었습니다. 그러나 컨테이너에서 특정 작업을 수행하려면 콘솔이 종종 필요하므로 기본 이미지가 최소 GNU 도구 만 번들로 만들기 때문에 몇 가지 추가 도구가 필요할 수 있습니다.
캐시 문제 문제 해결 <🎜 🎜>
이미지에 추가 패키지를 설치하려고 할 때 캐싱 문제가 거의 확실합니다. 이는 기본 이미지에 캐시 된 메타 데이터와 데이터 변경을 자주 추출하는 실시간 저장소가 있기 때문입니다.
Debian 기반 배포판에서 다음 명령을 추가 할 수 있습니다. <🎜 🎜>.
기본 도구 설치 <🎜
코드 편집기, 로케일, git 또는 tmux와 같은 도구 - 이제 이미지에 번들로 제공되도록 나중에 필요한 모든 것을 설치해야합니다.
우리는 한 줄에 하나를 설치합니다 : <🎜 🎜>
우리는이 모든 것을 한 줄로 설치할 수 있지만 나중에 패키지를 추가하거나 제거하려면 전체 프로세스를 다시 실행해야합니다. 따라서 여기서 모범 사례는 Docker의 캐시로부터 혜택을받을 수 있도록 라인 당 하나의 패키지를 설치하는 것입니다.
또한 간단하게 유지하십시오. 빌드 시간과 이미지 크기를 증가시킬 수 있으므로 도구를 "경우에만"설치하고 싶지 않습니다.
위 내용은 dockerfile으로 이미지를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!