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

sea*_*ook 27 redis docker

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

# docker build github.com/creack/docker-firefox
Run Code Online (Sandbox Code Playgroud)

它对我来说很好.docker-firefox是一个存储库,Dockerfile在root目录中.
然后我想建立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
)
Run Code Online (Sandbox Code Playgroud)

我上面有错误.来自github repos的build docker图像的正确格式是什么?

rof*_*rol 30

docker build uri#ref:dir

Git URL在其片段中接受上下文配置,用冒号分隔:.第一部分代表Git将检出的引用,它可以是分支,标记或提交SHA.第二部分表示存储库内的一个子目录,该子目录将用作构建上下文.

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

docker build https://github.com/docker/rootfs.git#container:docker
Run Code Online (Sandbox Code Playgroud)

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

  • 对于那些可能对“docker build url#ref:dir”感到困惑的人,这里的“ref”表示分支 (4认同)

Via*_*lev 5

您指定为回购URL的内容不是有效的git存储库。尝试时会出错

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

此仓库的有效URL是github.com/docker-library/redis。因此,您可能想尝试以下操作:

docker build github.com/docker-library/redis

但这也行不通。要从github进行构建Dockerfile,docker 需要在存储库根目录下,但该仓库未提供此仓库。因此,我建议您只需克隆此存储库并使用本地Dockerfile构建映像。

  • 实际上`docker build https:// raw.githubusercontent.com / docker-library / redis / master / 2.8.10 / Dockerfile`可以工作,但不像[官方示例](http://docs.docker.com/ v1.1 /参考/命令行/ cli /#build)。感谢您的回答。 (2认同)

Pra*_*oya 5

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

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