博主简介:
云计算领域优质创作者
新星计划第三季python赛道第一名
阿里云ACE认证高级工程师
阿里云开发者社区专家博主
✒️博主微信:15575411187
交流社区:小鹏linux(个人社区)欢迎您的加入!
目录
1. Ruby简介
2. Ruby的特性
3. Linux中源码安装Ruby
4. Linux中yum安装 Ruby
5. 在Docker中部署运行ruby
6. 在Docker中部署运行JRuby
结束语
Ruby是一种动态的面向对象的脚本语言,具有支持反射、跨平台、设计精简等特点,在Web应用领域应用颇多。Ruby的设计受到Perl、 Smalltalk、Eiffel、Ada和Lisp的影响。Ruby支持多种编程范式,如函数编程、面向对象编程、CLI交互式编程。Ruby还有动态的数据类型系统和自动的内存管理。
|
Ruby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。Smalltalk 是一个真正的面向对象语言。Ruby,与 Smalltalk 一样,是一个完美的面向对象语言。使用 Ruby 的语法比使用 Smalltalk 的语法要容易得多。 |
|
|
$ tar -xvzf ruby-2.2.3.tgz
$ cd ruby-2.2.3
配置并编译源代码,如下所示: |
$ ./configure
$ make
$ sudo make install
安装后,通过在命令行中输入以下命令来确保一切工作正常 |
$ruby -v
ruby 2.2.3……
如果计算机已经连接到 Internet,那么最简单安装 Ruby 的方式是使用 yum 或 apt-get。在命令提示符中输入以下的命令,即可在您的计算机上安装 Ruby。 |
$ sudo yum install ruby # CentOS, Fedora, 或 RHEL 系统
或
sudo apt-get install ruby-full # Debian 或 Ubuntu 系统
如果你是苹果系统,可以使用 brew 命令安装 |
$ brew install ruby
使用Ruby官方镜像
首先,在Ruby项目中创建一个Dockerfile: |
FROM ruby:2.1.2-onbuild
CMD ["./rb-sample.rb .rb"]
然后,新建rb-sample.rb例子程序: |
say = "I love Ruby"
3.times { puts say }
将以上文件放在app的根目录(与Gemfile同级)。 |
注意: 使用的官方镜像带有onbuild标签,意味着包含了启动大部分Ruby项目所需的基本指令。在构建镜像的时候,Docker会执行COPY./usr/src/app以及RUN bundle install。
|
然后,构建名为ruby-image的镜像: |
$ docker build -t ruby-image .
最后,创建并运行此镜像: |
$ docker run -it --name ruby-container ruby-image
由于在构建时使用了带有onbuild标签的镜像,所以在app目录下需要有Gemfile.lock文件。可以在App的根目录运行以下命令:
|
$ docker run --rm -v "$(pwd)":/usr/src/app -w /usr/src/app ruby:2.1.2 bundle install --system
如果大家只需要运行单个的Ruby脚本,那么无需使用Dockerfile构建自定义镜像,而是通过以下命令直接使用官方Ruby镜像,带参数运行容 器:
|
$ docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp ruby:2.1.2 ruby your-daemon-or-script.rb
JRuby类似于Python的Jython,它可运行于JVM上并支持Java的接口和类。
|
第一步,用户在JRuby项目中创建一个Dockerfile: |
FROM jruby:.1.7.24-onbuild
CMD ["./jruby-sample.rb"]
第二步,新建Ruby示例代码jruby-sample.rb: |
say = "I love JRuby"
3.times { puts say }
将此文件放在app的根目录(与Gemfile同级)。 |
注意: 使用的官方镜像带有onbuild标签,意味着包含了启动大部分JRuby项目所需的基本指令。在构建镜像的时候,会执行COPY./usr/src/app以及 RUN bundle install。
|
第三步,构建自定义镜像: |
$ docker build -t jruby-image .
第四步,创建并运行此镜像: |
$ docker run -it --name jruby-container jruby-image
由于在构建时使用了带有onbuild标签的镜像,所以在app目录下需有Gemfile.lock文件。这时可以在app的根目录运行以下命令:
|
$ docker run --rm -v "$(pwd)":/usr/src/app -w /usr/src/app jruby:1.7.15 bundle install --system
如果大家只需要运行单个的JRuby脚本,那么无需使用Dockerfile构建自定义镜像,而是通过以下命令直接使用官方JRuby镜像,带参数运行容器:
|
$ docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp jruby:1.7.15 jruby your-daemon-or-script.rb