最近看了一些Docker相关的知识,对制作dockerfile的流程有一些不明白的地方。
假如要制作一个基于Ubuntu的包含Nginx、MySQL、PHP等服务的dockerfile,我现在的流程是:
docker run一个基本的Ubuntu镜像
更新系统依赖包,如:apt-get update,在文本文档记录执行的命令
安装Nginx,在文本文档记录安装Nginx执行的步骤
....
等于说是先把流程跑一遍,记录下所有执行的命令,然后再把这些步骤复制到dockerfile里。
个人感觉这样做是不对的,请问大家都是怎么做的??
PHP中文网2017-04-25 09:05:37
맞습니다. 모든 프로세스에 대해 매우 익숙하다면 자연스럽게 Dockerfile을 직접 작성할 수 있습니다. 그러나 이러한 것에 대한 절대적인 보장은 기본적으로 없습니다. 특히 Docker의 기본 시스템 이미지는 대부분 매우 간소화되어 있으며 일부 소프트웨어 종속성 패키지를 다운로드하여 설치해야 합니다. 시간이 조금 걸리고 상대적으로 짧습니다. 반대로 Dockerfile 작성을 꿈꾸는 것보다 시간이 절약됩니다.
일반적으로 Dockerfile을 작성하는 과정은 다음과 같습니다.
컨테이너를 통해 설치 과정을 미리 보고 빌드 명령을 기록합니다
설치 명령어를 요약, 최적화하고 Dockerfile 작성
Dockerfile을 이용해 이미지를 빌드해보고 문제가 있는지 확인해 보세요
빌드된 이미지를 통해 컨테이너를 생성하여 그 안의 프로그램이 올바르게 사용될 수 있는지 확인하세요
習慣沉默2017-04-25 09:05:37
도커 허브에서 미리 만들어진 dockerfile을 참조하고 필요에 따라 수정하면 더 효율적일 것입니다. 처음부터 dockerfile을 작성하려면 위의 형제처럼 하면 됩니다. "비디오 레코더" 방법.