Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Apt get无法在ubuntu dockerfile中工作_Git_Docker_Ubuntu_Dockerfile - Fatal编程技术网

Git Apt get无法在ubuntu dockerfile中工作

Git Apt get无法在ubuntu dockerfile中工作,git,docker,ubuntu,dockerfile,Git,Docker,Ubuntu,Dockerfile,我对docker还是一个新手,我试图通过写自己的图片和阅读docker in action(ISBN:163330235)来学习 在我自己的代码和书中的示例(第146页)中,我希望通过dockerfile安装git 我的代码: # set base image FROM ubuntu:18.04 # author MAINTAINER me ############## Begin installation ########################## # update and upg

我对docker还是一个新手,我试图通过写自己的图片和阅读docker in action(ISBN:163330235)来学习

在我自己的代码和书中的示例(第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"]
但是,在这两种情况下,我都无法找到带有none zeero代码的包eror:

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 update成为单个命令。当我这样做时,它在这一点上失败了

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

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

3) 遵循上的教程。虽然这是不同的,但它仍然安装x11服务器,这同样在安装时失败

4) 下面是关于堆栈溢出的另一个答案, 我试过安装curl

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

如能就如何纠正此问题提供任何建议,将不胜感激。

请尝试

FROM ubuntu:18.04
RUN \
  apt-get update \
  && apt-get install -y \
    git-core

我不确定,但Dockerfile中的emptylines是个问题

在一条运行指令中执行'apt get update'和'apt get install'。这样做是为了确保安装最新的软件包。如果“apt get install”在单独的运行指令中,那么它将重用“apt get update”添加的层,该层可能早就创建好了

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

注意:运行说明通过在初始图像的顶部添加层来构建图像。

我刚刚尝试了您的Dockerfile,没有发现任何错误。您可以尝试(此处建议)在同一个RUN命令中进行更新和安装,例如
RUN apt get update&&apt get install-y git
。您不需要
apt get upgrade
,因为这会升级已安装软件包的版本(参考:),我已删除升级。我甚至不知道我为什么要这么做,只是在很多月前我第一次安装linux时被告知要这么做。从那以后,我就习惯了这样做。它仍然不工作,但我想知道它是否是我的破旧电脑/网络,因为它正在为他人工作。谢谢,它仍然不工作,我想它可能是我的电脑和/或网络,因为它正在为他人工作。我会在周末用一台更现代化的电脑再试一次,而不是在我的工作网络上。如果有效,我将标记为已回答。