2017-05-24 57 views
0

我有一個Dockerfile內容,看起來像從當地碼頭工人形象,而不是拉

Dockerfile

FROM SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE 

COPY docker/app/bin/startup.sh /usr/bin/ 

CMD ["/usr/bin/startup.sh"] 

的應用程序,我不想拉亞馬遜圖像代替了,我想在第一個docker-compose up --build命令運行後,從已經存在的本地映像中「拉出」。

當我做docker images我得到

SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name SOME_HEX_VALUE SOMESHORT_HEX 2 days ago 1.54 GB這意味着圖像是本地的了。我明白這一點

如果主機有你想要的碼頭組成的圖像它將使用該圖像,但如果主機沒有它,它會去碼頭集線器或任何你已經設置在你的配置進行登記

所以我改變了Dockerfile內容如下:

FROM IMAGE_ID:SOME_HEX_VALUE其中IMAGE_ID是存儲庫的圖片ID我想,當我做docker images但後來我得到Service 'app' failed to build: repository SOMESHORT_HEX not found: does not exist or no pull access,我想知道如何告訴Docker使用本地圖像而不是試圖從亞馬遜的網址拉。有任何想法嗎?

回答

2

首先拉從遠程倉庫中的圖像當地碼頭工人引擎:

docker pull SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE 

現在,給圖像的新本地標籤:

docker tag SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE my-image-name 

現在,你可以簡單地指​​,如:

FROM my-image-name 
0

您應該:

FROM IMAGE_ID 

或者說,這已經是確定:

FROM SOME_NUMBERS.dkr.ecr.us-east-1.amazonaws.com/app_name:SOME_HEX_VALUE 

哪裏SOME_HEX_VALUE是標記版本(在docker images第二列)。 請注意,如果圖像出現在您的計算機上,docker將不會再嘗試拉它。

相關問題