如何从github存储库构建docker镜像

时间:2014-11-05 08:57:21

标签: redis docker

在官方文档中我们可以看到:

# 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图像的格式是什么?

4 个答案:

答案 0 :(得分:24)

docker build uri#ref:dir

  

Git URL在其片段中接受上下文配置,   用冒号分隔:。第一部分代表了参考   Git会签出,这可以是分支,标签或提交   SHA。第二部分表示存储库中的子目录   将用作构建上下文。

     

例如,运行此命令以使用名为docker的目录   分支容器:

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

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

答案 1 :(得分:4)

您指定为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,但是这个repo不提供这个。因此,我建议,您只需克隆此repo并使用本地Dockerfile构建映像。

答案 2 :(得分:1)

可以使用以下示例设置Centos 7容器以测试ORC文件格式。确保逃避#标志:

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

答案 3 :(得分:0)

docker run -p 3000:3000 -e github ='https://github.com/URL'-it IMAGE_NAME