I recently deployed a Rails app on a CentOS 8 container and was surprised to see that the ‘rails new’ command did not create the entire application directory structure that I would expect, ie:
[root@607ebc931c48 app]# rails _5.2.3_ new centos_app_2 create create README.md create Rakefile create .ruby-version create config.ru create .gitignore create Gemfile run git init from "."
I didn’t know that git was a requirement now for rails apps, so the issue was resolved by installing the git client.
# dnf install -y git
To get a rails application created using a CentOS 8 docker container, use the following steps. This will assume rails 5.2.3 and ruby 2.6.3:
docker run -i -t --rm -v ${PWD}:/usr/src/app centos:8 bash dnf install curl git gnupg2 which -y gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh rvm requirements rvm install 2.6.3 gem install rails -v 5.2.3 rails _5.2.3_ new centos_app
Note that the container actually takes quite a bit to build, so making an image would be more useful as subsequent rails commands could be run more easily.
Leave a Reply