【问题标题】:apt-get install overwrite ruby on docker of ubuntu14.04apt-get install overwrite ruby​​ 在 ubuntu14.04 的 docker 上
【发布时间】:2017-06-05 07:43:42
【问题描述】:

我在使用干净的 ubuntu14.04 的 docker 中做了一些测试。 我使用下面的代码在dockerfile中安装ruby2.0:

RUN apt-add-repository ppa:brightbox/ruby-ng
RUN apt-get update && apt-get -y install \
    ruby2.0 \
    ruby2.0-dev

然后我进入码头。 出现问题: 当我使用

apt-get install ruby2.0

毫无疑问。 当我使用

apt-get install ruby

apt-get update 后,apt 会找到 ruby​​1.9 安装并覆盖链接(/usr/bin/ruby),也就是说现在默认的 ruby​​ 版本是 1.9。

为了进一步开发,我不能指定版本。而且,我需要让这个操作在 ubuntu14.04 上运行良好,即使我知道它可以在 ubuntu16 上通过。 我该如何解决这个问题?

docker中的apt源和ubuntu14.04有区别吗?

【问题讨论】:

  • 为什么不用ruby的官方docker镜像?

标签: ruby ubuntu dockerfile apt


【解决方案1】:

apt-add-repository 不存在。并且官方的 ubuntu:14.04 镜像默认不包含add-apt-repository。你需要安装它

apt-get update && apt-get install software-properties-common

在此之后,您可以通过以下方式安装您的 ruby​​,

add-apt-repository -y ppa:brightbox/ruby-ng
apt-get update && apt-get -y install ruby2.0 ruby2.0-dev

我不确定您的 Dockerfile 是如何正常运行的。但是有一个提示供您编写 Dockerfile。始终先在容器中运行命令,然后再将其写入 Dockerfile。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 2021-12-09
    • 2023-03-22
    相关资源
    最近更新 更多