2014-11-05 57 views
17

在官方的文檔,我們可以看到:如何從GitHub資源庫建設搬運工圖像

# docker build github.com/creack/docker-firefox 

這只是工作沒什麼問題。 docker-firefox是一個存儲庫,在根目錄中有Dockerfile
然後我想打造專業化Redis的圖像和詳細的版本2.8.10:

# docker build github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10 
2014/11/05 16:20:32 Error trying to use git: exit status 128 (Initialized empty Git repository in /tmp/docker-build-git067001920/.git/ 
error: The requested URL returned error: 403 while accessing https://github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10/info/refs 

fatal: HTTP request failed 
) 

我得到上述錯誤。從github repos構建docker鏡像的格式是什麼?

回答

3

您指定爲repo URL的東西不是有效的git存儲庫。你會得到錯誤時,你會嘗試

git clone github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10

有效網址這個回購協議github.com/docker-library/redis。所以,你可能想嘗試以下操作:

docker build github.com/docker-library/redis

但是這不會太工作。要從github構建,docker需要Dockerfile在repository root中,但是,這個repo不提供這個。所以,我建議,你只需要克隆這個repo並使用本地Dockerfile構建鏡像。

+1

其實'泊塢窗共建https://開頭raw.githubusercontent.com /搬運工庫/ Redis的/主/ 2.8.10/Dockerfile'工作,但不喜歡[官方示例](http://docs.docker.com/v1.1/reference/commandline/cli/#build)。感謝您的回答。 – seanlook 2014-11-05 12:58:09

12

docker build uri#ref:dir

GIT中的URL接受上下文配置在它們的片段部分, 用冒號隔開。第一部分代表Git將檢查出的參考,這可以是分支,標記或提交 SHA。第二部分表示存儲庫 中的一個子目錄,它將用作構建上下文。

例如,運行此命令要使用一個稱爲碼頭工人目錄中的 分支容器:

docker build https://github.com/docker/rootfs.git#container:docker 

https://docs.docker.com/engine/reference/commandline/build/

0

人們可以使用下面的示例,其設置了一個CentOS 7容器測試ORC文件格式。確保逃離#標誌:

$ docker build https://github.com/apache/orc.git\#:docker/centos7 -t orc-centos7