我是使用 docker 的新手,到目前为止我无法找到许多包含的 ruby/rails 图像RVM
or rbenv
.
我看到的最常见的事情是每个容器有多个tags每个标记的图像版本都有only one安装的 Ruby 版本。看到这个image https://hub.docker.com/_/ruby/例如。
使用其他版本的唯一方法是为您正在使用的映像使用另一个标签,因为您无法使用 RVM 或 rbenv 安装新版本。
这是故意的吗?
在 docker 容器内使用编程语言的版本管理器是一种不好的做法吗?
Why?
这在 docker 中被认为是一种不好的做法或反模式。 RVM 正在尝试解决 docker 正在解决的类似问题,但采用了截然不同的方法。 RVM 专为将所有工具安装在一个位置的主机或虚拟机而设计。 Docker 创建了一个隔离的环境,其中仅包含运行单个应用程序所需的工具。
容器在理想情况下是简约的,仅包含应用程序所需的先决条件,使它们更加便携。 Docker 还使用层和联合文件系统来为每个映像重用公共基础映像,因此 Ruby 版本 X 之类的任何副本只会下载并写入磁盘一次(忽略对该映像的更新)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)