gpt4 book ai didi

git - Apt-get 在 ubuntu dockerfile 中不工作

转载 作者:行者123 更新时间:2023-12-02 18:53:11 27 4
gpt4 key购买 nike

我对 docker 还很陌生,我正在尝试通过编写自己的图像来学习,现在,阅读 Docker in action(ISBN:1633430235)

在我自己的代码和书中的示例(第 146 页)中,我想通过 dockerfile 安装 git。

我的代码:

# set base image
FROM ubuntu:18.04
# author
MAINTAINER me
############## Begin installation ##########################

# update and upgrade
RUN apt-get update
RUN apt-get upgrade
# install git
RUN apt-get install -y git
***rest of code omitted***

书籍代码:

#An example Dockerfile for installing Git on Ubuntu
FROM Ubuntu:latest
MAINTAINER "dockerinaction@allgeek.com"
RUN apt-get install -y git
ENTRYPOINT ["git"]

但是,在这两种情况下,我都遇到了无法使用非 zeero 代码定位包的错误:

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package git
The command '/bin/sh -c apt-get install -y git' returned a non-zero code: 100

到目前为止,我已经尝试过了。

1) 将 apt-get update 和 apt-get upgrade merge 为一个命令。当我这样做时,它此时失败了。

2) 在安装 git 之前安装 apt-transport-https,如下所述:

apt-get update' returned a non-zero code: 100

这将成功下载,但一旦再次安装 git,我就会遇到同样的错误。这个

3) 按照 https://docs.docker.com/engine/reference/builder/#dockerfile-examples 上的教程进行操作.虽然这有所不同,但它仍然会安装 x11 服务器,但同样会在安装时失败。

4) 按照另一个关于堆栈溢出的回答,Cannot install packages inside docker Ubuntu image我试过安装 curl。

所有这些方法,除了第一个,让我更新和升级只是在我尝试安装软件时失败。如果我从运行 docker 的机器上的终端更新、升级、安装,我也没有问题。

如有任何关于如何纠正此问题的建议,我们将不胜感激。

最佳答案

在单个 RUN 指令中执行“apt-get update”和“apt-get install”。这样做是为了确保安装最新的软件包。如果“apt-get install”在单独的 RUN 指令中,那么它将重用“apt-get update”添加的层,这可能是很久以前创建的。

RUN apt-get update && \
apt-get install -y git-core

注意:RUN 指令通过在初始图像之上添加层来构建您的图像。

关于git - Apt-get 在 ubuntu dockerfile 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com