【问题标题】:How to install git on a docker ubuntu image?如何在 docker ubuntu 映像上安装 git?
【发布时间】:2019-09-03 16:02:17
【问题描述】:

我有一个简单的 docker 文件

FROM ubuntu:18.04
COPY . /usr/src/app/
COPY docker_files/.bash_aliases /root/

$ docker build -t dock .
Sending build context to Docker daemon  146.9kB
Step 1/3 : FROM ubuntu:18.04
 ---> 94e814e2efa8
Step 2/3 : COPY . /usr/src/app/
 ---> bf79eb6c42c1
Step 3/3 : COPY docker_files/.bash_aliases /root/
 ---> aedc97d5ee8b
Successfully built aedc97d5ee8b
Successfully tagged dock:latest

我可以使用它:

$ docker run -it dock
bash: git: command not found
root@6a6bec871690:/# ls usr/src/app/
Dockerfile  Gemfile  Gemfile.lock  README.md  docker_files  go  ...
root@6a6bec871690:/# 

如您所见,我的文件已被复制并为 root 创建了别名。但是没有找到 git(因此出现错误消息)并且没有安装。
如果我在下面的尝试失败了,我该如何安装它?

root@753b573271d5:/# git
bash: git: command not found
root@753b573271d5:/# apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package git
root@753b573271d5:/# sudo apt-get install git 
bash: sudo: command not found

【问题讨论】:

  • 我很好奇你为什么要在你的镜像中使用 Git。通常版本控制会发生在容器之外,我不明白为什么docker run 会在这里调用git。你是想在你的 bash 提示符中显示 Git 信息吗?
  • 好问题。我在玩。试图找到一个开发环境的正确匹配,其中 docker 镜像是我工作的环境
  • 很公平,迈克尔。 FWIW 我发现当每个容器只做一件事情时,Docker 效果最好。而不是例如具有版本控制的单个 VM、IDE、Web 服务器、数据库服务器以及您使用的任何语言可能有一个 Docker 容器托管应用程序代码,另一个用于您的数据库,并使用编辑器或 IDE,版本控制、网络浏览器等。我认为这也更符合项目的目标。无论你最终得到什么,我希望你能找到满意的东西。

标签: git docker ubuntu containers dockerfile


【解决方案1】:

这个 Dockerfile 适合我

FROM ubuntu:18.04
RUN apt update
RUN apt install -y git

容器内

$ which git
/usr/bin/git

【讨论】:

  • 如果您不想重建容器,也可以在容器内运行apt update。但是在构建容器时安装你需要的东西是更好的方法。
【解决方案2】:
apt-get update

apt-get install git

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 2020-10-20
    • 1970-01-01
    • 2016-09-08
    • 2020-11-08
    • 2018-12-02
    • 2018-09-05
    • 1970-01-01
    • 2020-08-25
    相关资源
    最近更新 更多