Lesson Weekend

Not sure whether to install Ruby or use Docker? Read through this FAQ to help understand the best choice to make for yourself.

Why would I use Docker instead of just installing Ruby on my computer?

Windows users in particular often have a difficult time setting up a local environment with Ruby, Rails, and Postgres. That’s because Windows just doesn’t have very good tooling for Ruby environments. This can create a lot of stress and frustration for Windows users.

Also, some Mac OS users sometimes have problems with their environments as well. For instance, sometimes it’s hard to get a Postgres database working correctly.

While Epicodus staff can troubleshoot most personal environment issues, we do not have the staffing to troubleshoot complex personal environment issues. Because of this, we want to provide another option for students to have a less stressful local environment on their machines. (It won’t be completely stress-free, but that’s the life of a developer.)

Ultimately, using Docker makes it possible to use all the tools you need for Ruby and Rails without installing anything other than Docker. No need to configure Ruby, Rails or Postgres on your personal machine.

Finally, Docker is used a lot in the tech industry. Knowing how to use it is a nice addition to your resume.

What’s the hitch?

Well, there will be approximately a half-dozen additional lessons, most at the beginning of the Ruby/Rails course. You’ll be learning about an additional tool (Docker) in addition to learning a new language (Ruby). So there’s some extra overhead - though keep in mind that if you are one of the students that has a difficult situation setting up Ruby on your machine, the Docker lessons may well be less work than getting your machine to cooperate with you.

Also, this curriculum is beta. Stuff will come up. The new curriculum has been tested, but stuff will come up anyway. That’s the nature of programming. There’s no way around it.

Your instructors will be available to troubleshoot any Docker issues via the #docker-questions - or to field questions you might have about Docker-specific lessons.

Also, your development experience may also be a little bit slower. That’s because you’ll be running Docker images.

Finally, using Docker will not affect working on independent projects or pair-programming. It’s just that you’re using a containerized environment to run your code instead of your machine’s environment.

I want to use Docker!

Awesome! Make sure to work through the Docker pre-work and reach out to instructors in the #docker-questions channel on Discord with any questions that come up.

It sounds overwhelming. I don’t want to use Docker.

You don’t have to. This content is optional. You have several other options:

  • Follow the installation instructions provided in the Ruby Installation and Setup lesson. Hopefully, you already did this in the pre-work for Intro to Programming, but in our experience some students put it off while other students don’t realize until the Ruby course starts that something isn’t working correctly. But if everything is working just fine, you’re good to go! No need to use Docker - unless you have the bandwidth and interest in checking it out.

  • If you are a Windows user and you have the means and interest to switch over to Mac, you can get a Mac machine, which makes developing with Ruby much easier.

  • If you are a Windows user interested in Linux, you can use the Windows Subsystem for Linux. However, we don’t provide support for Linux users and you’ll be opening a whole different can of worms. If you’re motivated to get into Linux, you can learn a lot, but we’d recommend saving this option for later and just using Docker instead.

What if I change my mind and want to use Docker later?

You can! Let’s say you get Ruby working correctly on your machine but later in the course you start running into local environment issues. This definitely happens to some students. You can switch over to using the Docker containers we provide and use those instead.

What if I want to stop using Docker?

This is also an option - but keep in mind that you’ll need to have a working local Ruby/Rails/Postgres environment. Once you’ve committed to Ruby/Rails, you’re not going to be able to switch over to C#/.NET.

I still have questions. Now what?

Email your instructors with specific questions.

Lesson 5 of 8
Last updated November 17, 2021