최근 Docker 관련 지식을 읽었는데, dockerfile을 만드는 과정에 대해 약간의 혼란이 있습니다.
Nginx, MySQL, PHP 및 기타 서비스가 포함된 Ubuntu 기반 dockerfile을 만들려면 현재 프로세스는 다음과 같습니다.
docker 기본 Ubuntu 이미지 실행
apt-get update와 같은 시스템 종속성 패키지 업데이트, 실행된 명령을 텍스트 문서에 기록
Nginx 설치, Nginx 설치 단계를 텍스트 문서에 기록하세요
....
프로세스를 먼저 실행하고 실행된 모든 명령을 기록한 다음 이 단계를 dockerfile에 복사한다는 의미입니다.
개인적으로는 이게 잘못된 것 같아요. 여러분은 어떻게 하시나요? ?
맞습니다. 모든 프로세스에 대해 매우 익숙하다면 자연스럽게 Dockerfile을 직접 작성할 수 있습니다. 그러나 이러한 것에 대한 절대적인 보장은 기본적으로 없습니다. 특히 Docker의 기본 시스템 이미지는 대부분 매우 간소화되어 있으며 일부 소프트웨어 종속성 패키지를 다운로드하여 설치해야 합니다. 시간이 조금 걸리고 상대적으로 짧습니다. 반대로 Dockerfile 작성을 꿈꾸는 것보다 시간이 절약됩니다.
일반적으로 Dockerfile을 작성하는 과정은 다음과 같습니다.
컨테이너를 통해 설치 과정을 미리 보고 빌드 명령을 기록합니다
설치 명령어를 요약, 최적화하고 Dockerfile 작성
Dockerfile을 이용해 이미지를 빌드해보고 문제가 있는지 확인해 보세요
빌드된 이미지를 통해 컨테이너를 생성하여 그 안의 프로그램이 올바르게 사용될 수 있는지 확인하세요
도커 허브에서 미리 만들어진 dockerfile을 참조하고 필요에 따라 수정하면 더 효율적일 것입니다. 처음부터 dockerfile을 작성하려면 위의 형제처럼 하면 됩니다. "비디오 레코더" 방법.