Skip to content

Build docker image with requested versions of ruby, node and yarn installed. Based on Starefossen's excellent work.

License

Notifications You must be signed in to change notification settings

el-cms/docker-ruby-node-yarn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby/Node/Yarn Image

This repo is forked from the Stareffosen ruby/node docker repo. This repo just dries up the files and allows automating/customizing the versions a bit.

Getting the Images

The images described here are published to Docker Hub. You can pull them in the normal way:

docker pull nextdude/ruby-node-yarn:latest

See docker hub for the currently published tags.

Building Your Own Images

After cloning the repo, edit 'gen-docker-compose.sh' and confirm the versions of ruby, node and yarn are the ones you want to build. The defaults as of the writing of this README are:

RUBY_VERSIONS="2.6 2.5 2.4"
NODE_VERSIONS="11 10 8 6"
YARN_VERSIONS=$(curl -sSL --compressed https://yarnpkg.com/latest-version)

When you run

./gen-docker-compose.sh --gen-keys

the docker-compose.yml file is updated to build images combining all those versions (as well as a latest image with the most up to date versions).

The --gen-keys command downloads all the required gpg keys for verifying the node and yarn packages. These will be copied into each image when built. You may find in the future you need to update the list of keys associated with node. You can find them at https://github.com/nodejs/node#release-team. Update the list near the top of gen-docker-compose.sh and rerun with --gen-keys option.

Finally, build all the images in the normal way:

docker-compose build

Or for a specific image:

docker-compose build latest

ORIGINAL README

Ruby + Node Docker Image Image Layers

Docker image with Ruby and Node.js with Yarn installed and ready to roll.

NOTICE: Images are refreshed everytime Ruby official repo is updated on Docker Hub. Minor or patch versions in this readme file should be outdated.

Both Ruby and Node.js are based on official images.

Maintaned combinations:

  • Ruby: 2 (2.5) Node: 6.x (6.14)
  • Ruby: 2 (2.5) Node: 8.x (8.11)
  • Ruby: 2 (2.5) Node: 10.x (10.4)

Supported tags and respective Dockerfile links

Why Node.js and Ruby together?

Some applications, like Jekyll, GitHub pages or Rails with Webpacker, requires both Ruby and Node.js installed in the same image in order to run or fully function. This image do not install any other packages than both other images do.

Differences with official Ruby and Node.js images?

Ruby: Same as official.

Node: Instead variables NODE_VERSION and YARN_VERSION is available variable NODE_MAJOR fullfiled with major version of node.js. Node is not executed on by CMD.

How to use this image

$ docker run -v "$PWD":/usr/src/app -p "8080:8080" starefossen/ruby-node

Image Variants

The starefossen/ruby-node images come in three flavors, each designed for a specific use case.

starefossen/ruby-node:latest

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. Based on Debian distribution.

starefossen/ruby-node:alpine

This is the smalles image possible. It is based on the Alpine Linux base image.

Default Locale

Versions 2-6, 2-8, 2-10 has defined locale C.UTF-8 instead default POSIX.

License

This Docker image is licensed under the MIT License.

Software contained in this image is licensed under the following:

Supported Docker versions

This image is officially supported on Docker versions v17, v18.

Support for older versions (down to v1.0) is provided on a best-effort basis.

User Feedback

Documentation

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Contributing

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.

Collaborators

Individuals making significant and valuable contributions are made Collaborators and given commit-access to the project. These individuals are identified by the existing Collaborators and their addition as Collaborators is discussed as a pull request to this project's README.md.

Note: If you make a significant contribution and are not considered for commit-access log an issue or contact one of the Collaborators directly.

  • Radovan Šmitala - @radeno
  • Hans Kristian Flaatten - @Starefossen

About

Build docker image with requested versions of ruby, node and yarn installed. Based on Starefossen's excellent work.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dockerfile 52.2%
  • Shell 47.8%