【问题标题】:How to build docker image from github repository如何从 github 存储库构建 docker 映像
【发布时间】:2015-01-01 09:34:21
【问题描述】:

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

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

【问题讨论】:

标签: redis docker


【解决方案1】:

docker build url#ref:dir

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

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

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

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

【讨论】:

    【解决方案2】:

    您指定为 repo URL 的东西不是有效的 git 存储库。尝试时会报错

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

    此 repo 的有效 URL 是 github.com/docker-library/redis。所以你可能想尝试以下:

    docker build github.com/docker-library/redis

    但这也行不通。要从 github 构建,docker 在存储库根目录中需要 Dockerfile,但是,这个 repo 不提供这个。所以,我建议,你只需要克隆这个 repo 并使用本地 Dockerfile 构建镜像。

    【讨论】:

    • 事实上docker build https://raw.githubusercontent.com/docker-library/redis/master/2.8.10/Dockerfile 有效,但不像official example。谢谢你的回答。
    【解决方案3】:

    可以使用以下示例设置 Centos 7 容器来测试 ORC 文件格式。确保转义 # 符号:

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

    【讨论】:

    • “-t”标志和名称对于图像获得名称集很重要。否则你会得到 图像。
    • 我不知道为什么它在我的电脑上失败了。该错误显示“无法使用前端 dockerfile.v0 解决:无法读取 dockerfile:无法加载缓存键:尚不支持子目录”。我正在使用 Docker-CE-20.10
    猜你喜欢
    • 2018-01-05
    • 2016-06-24
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多