【问题标题】:Failed to create docker base image with Debootstrap无法使用 Debootstrap 创建 docker 基础映像
【发布时间】:2017-07-11 02:50:17
【问题描述】:

我参考了Docker官方文档:Create a base image并执行了以下命令:

sudo debootstrap raring raring > /dev/null    
sudo tar -C raring -c . | sudo docker import - raring
sudo docker run raring cat /etc/lsb-release

我收到最后一条命令的错误消息,图像“raring”为空,0B。

container_linux.go:247: starting container process caused "exec: \"cat\": executable file not found in $PATH"
docker: Error response from daemon: oci runtime error: 
container_linux.go:247: starting container process caused "exec: \"cat\": executable file not found in $PATH".
ERRO[0000] error getting events from daemon: net/http: request canceled

由于图像为空,我将目标从 /dev/null 更改为 ./rootfs 参考此页面:How can I make my own base image for Docker?

sudo debootstrap raring ./rootfs

但 deboostrap 未能获取 Release:

I: Retrieving InRelease
I: Failed to retrieve InRelease
I: Retrieving Release
E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/raring/Release

使用 wget 和我的浏览器,我发现“http://archive.ubuntu.com/ubuntu/dists/raring/Release”是一个 404 页面。

我的 Linux 发行版是:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

而我的 docker 版本是:

Client:
  Version:      17.04.0-ce
  API version:  1.28
  Go version:   go1.7.5
  Git commit:   4845c56
  Built:        Mon Apr  3 18:01:08 2017
  OS/Arch:      linux/amd64
Server:
 Version:      17.04.0-ce
 API version:  1.28 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   4845c56
 Built:        Mon Apr  3 18:01:08 2017
 OS/Arch:      linux/amd64
 Experimental: false

我该如何解决这个问题,或者有什么新方法可以制作我自己的基础镜像?任何建议将不胜感激。 :)

【问题讨论】:

  • 我不确定他们为什么选择 raring (13.04)(非 lts 版本)——尝试使用 xenial (16.04) 代替(除非有令人信服的理由使用 旧的 ubuntu 版本)。
  • 这更像是你原来的问题的一个分支,但我认为值得一提。每当您遇到文档问题时,我都建议您使用“请求文档更改”功能。该链接出现在每个文档页面的右侧边栏和页脚上。这将带您到 github,在那里您将能够打开一个问题,该问题具有一个包含正确文件引用的模板。如果您想建议对停靠栏进行更改以解决问题,您也可以使用“编辑此页面”。
  • fwiw,我已经建议对他们的文档进行修复:github.com/docker/docker.github.io/pull/3859(我昨晚没有这样做,因为我知道debootstrap 需要多长时间并且不愿意在睡觉前对其进行测试:D)
  • @Anthony Sottile 非常感谢您的帮助。你的修复效果很好。 :D
  • @programmerq 知道了。当遇到文档问题时,我将打开一个新问题。感谢您对新手的耐心等待。

标签: image ubuntu docker


【解决方案1】:

文档已经过时了——它列出了一个旧的非 lts 版本的 ubuntu(raring13.04)——我已经提交了一个拉取请求以将其更新到最近的 LTS 版本( xenial, 16.04): https://github.com/docker/docker.github.io/pull/3859

以下命令效果很好:

sudo debootstrap xenial xenial > /dev/null    
sudo tar -C xenial -c . | sudo docker import - xenial
sudo docker run xenial cat /etc/lsb-release

【讨论】:

    猜你喜欢
    • 2017-03-19
    • 2015-02-15
    • 2021-12-01
    • 2015-11-09
    • 2017-04-24
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多