1.9.3-p551
,1.9.3
,1.9
,1
(1.9/Dockerfile)1.9.3-p551-onbuild
,1.9.3-onbuild
,1.9-onbuild
,1-onbuild
(1.9/onbuild/Dockerfile)2.0.0-p598
,2.0.0
,2.0
(2.0/Dockerfile)2.0.0-p598-onbuild
,2.0.0-onbuild
,2.0-onbuild
(2.0/onbuild/Dockerfile)2.1.5
,2.1
,2
,latest
(2.1/Dockerfile)2.1.5-onbuild
,2.1-onbuild
,2-onbuild
,onbuild
(2.1/onbuild/Dockerfile)
For more information about this image and its history, please see the relevant
manifest file
(library/ruby
)
in the docker-library/official-images
GitHub
repo.
Ruby is a dynamic, reflective, object-oriented, general-purpose, open-source programming language. According to its authors, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.
FROM ruby:2.1-onbuild
CMD ["./your-daemon-or-script.rb"]
Put this file in the root of your app, next to the Gemfile
.
This image includes multiple ONBUILD
triggers which should be all you need to
bootstrap most applications. The build will COPY . /usr/src/app
and RUN bundle install
.
You can then build and run the Ruby image:
docker build -t my-ruby-app .
docker run -it --name my-running-script my-ruby-app
The onbuid
tag expects a Gemfile.lock
in your app directory. This docker run
will help you generate one. Run it in the root of your app, next to the
Gemfile
:
docker run --rm -v "$(pwd)":/usr/src/app -w /usr/src/app ruby:2.1 bundle install
For many simple, single file projects, you may find it inconvenient to write a
complete Dockerfile
. In such cases, you can run a Ruby script by using the
Ruby Docker image directly:
docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp ruby:2.1 ruby your-daemon-or-script.rb
View license information for the software contained in this image.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
You can also reach many of the official image maintainers via the
#docker-library
IRC channel on Freenode.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.