2014-12-30 4 views
0

일반적으로 이미지의 상속은 docker 's from 명령을 사용하여 수행됩니다. 내 경우Docker FROM을 구현하는 다양한 방법은 무엇입니까?

from centos7:centos7 

, 나는 내가 기본 이미지 빌더로 사용하려는 Dockerfile 있고, 그 파일을 사용자 정의 두 개의 하위 dockerfiles 있습니다. 예를 들어, 내가하고 싶은, 그래서 dockerhub하는 컨테이너로 원래 dockerfile를 저지하지

내가 할 :

슬레이브/Dockerfile는 다음과 같은 형태
Dockerfile 
slave/Dockerfile 
master/Dockerfile 

:

from ../Dockerfile 

이 비슷한 점이 있습니까? 또는 실제로 최상위 수준의 Dockerfile을 컨테이너로 변환하고 dockerhub 이미지로 커밋해야만 Docker FROM 지시문을 사용할 수 있습니다.

답변

2

이미지를 dockerhub에 푸시하지 않아도 이미지를 기본 이미지로 사용할 수 있습니다. 그러나 을 로컬로 구축하여 로컬 도커 저장소에 저장되도록으로 만들어야합니다. 이미지는 상대 경로 (예 : ../Dockerfile)를 기반으로 기본 이미지로 사용할 수 없습니다. 로컬 저장소에있는 다른 이미지 파일에 자신의 이미지를 기반으로해야합니다.

의 당신의 기본 이미지가 사용하는 말을하자합니다 (Dockerfile에서) 다음

FROM  centos7:centos7 
// More stuff... 

을 그리고 당신은 당신이 사용을 빌드 할 때 다음과 같은 : 여기 어떻게됩니까

docker build -t my/base . 

이미지이다 centos7:centos7은 dockerhub에서 다운로드됩니다. 그런 다음 이미지 my/base이 빌드되고 로컬 리포지토리에 (버전 지정없이) 저장됩니다. 당신은 또한 간단하게 다음과 같이 버전 정보를 제공하여 고정 표시기 컨테이너 버전을 제공 할 수

가 다음 다른 하위를 구축하기 위해 FROM - 이미지로 사용할 수 있습니다 위의 이미지가 예에서와 같이 내장 된
docker build -t my/base:2.0 . 

이미지를 적어도 동일한 머신 (동일한 로컬 저장소)에 저장하십시오. 따라서 하위 이미지에서 다음을 사용할 수 있습니다.

FROM  my/base 

기본적으로 아무 것도 누를 필요가 없습니다. 모든 이미지는 컴퓨터에 로컬로 저장됩니다. 그러나 이전에 빌드 된 기본 이미지없이 하위 이미지를 빌드하려고하면 오류가 발생합니다.

건물 및 태그에 대한 자세한 내용은

, 체크 아웃 워드 프로세서 :

관련 문제