繁体   English   中英

apt-get install在ubuntu14.04的docker上覆盖ruby

[英]apt-get install overwrite ruby on docker of ubuntu14.04

我在使用干净的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更新后,apt将找到ruby1.9进行安装并覆盖链接(/ usr / bin / ruby​​),这意味着默认的ruby版本现在是1.9。

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

并且docker中的apt源与ubuntu14.04不同吗?

apt-add-repository不存在。 官方的ubuntu:14.04映像默认不包含add-apt-repository 您需要使用

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

之后,您可以通过以下方式安装红宝石,

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

我不确定您的Dockerfile如何运行而不会出现错误。 但是有一个提示可以帮助您编写Dockerfile。 始终先在容器中运行命令,然后再将其写入Dockerfile。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM