Note: As of May 2022, Red Hat CodeReady Containers is now Red Hat OpenShift Local. Read about the changes here: Developer tools rebrand, say farewell to CodeReady name
Red Hat CodeReady Containers brings a minimal, preconfigured Red Hat OpenShift 4.1 or newer cluster to your local laptop or desktop computer for development and testing purposes. CodeReady Containers supports native hypervisors for Linux, macOS, and Windows 10.
CodeReady Containers is designed for local development and testing on an OpenShift 4 cluster. For running an OpenShift 3 cluster locally, see Red Hat Container Development Kit (CDK) or Minishift.
In this article, we’ll look at the features and benefits of CodeReady Containers, show a demo of how easy it is to create a local Red Hat OpenShift 4 cluster, and show how to deploy an application on top of it.
Prerequisites
CodeReady Containers requires the following minimum system resources to run Red Hat OpenShift:
- 4 virtual CPUs (vCPUs)
- 8 GB of memory
- 35 GB of storage space
You will also require the native hypervisor for your host operating system. CodeReady Containers currently supports libvirt for Linux, HyperKit for macOS, and Hyper-V for Windows.
Here's a brief walk-through of getting the bits, all the way through getting an app deployed.
Download & install
You can download CodeReady Containers from the Red Hat CodeReady Containers product page. To install CodeReady Containers, extract the downloaded archive its contents, and add the extracted crc
binary to your PATH
environment variable. On Linux and macOS, you can extract the contents of the .tar.xz
archive using the tar xvf
command.
Configuration
Once CodeReady Containers has been installed, set up your host environment with the crc setup
command. This command must be run before starting the OpenShift cluster. This command should be run with your regular user account but will request elevated privileges when modifications are needed. Ensure that your user account is capable of elevating privileges.
$ crc setup
Start your OpenShift 4 cluster
After your host environment has been set up with the crc setup
command, you can start the OpenShift cluster with the crc start
command. When prompted, supply your user pull secret for the cluster. Your user pull secret can be copied or downloaded from the the Red Hat CodeReady Containers product page under the Pull Secret section. A Red Hat account is required to access the user pull secret.
$ crc start
That's it!
You should now have a running Red Hat OpenShift 4 cluster in no time.
Using your cluster
CodeReady Containers includes a cached OpenShift client binary (oc
). You can use this cached oc
binary to interact with the running OpenShift cluster by running the crc oc-env
command and following the printed instructions. Once the environment has been set up to use the cached oc
binary, you can log in to the cluster as the developer
user, as follows:
$ eval $(crc oc-env) $ oc login -u developer -p developer
Now we’ll create a sample httpd
application deployment. Once you are logged in with oc
, create a new project:
$ oc new-project myproject
Create the httpd
example application:
$ oc new-app httpd-example
Monitor the status of your build to ensure it pushes successfully:
$ oc logs -f bc/httpd-example [...] Writing manifest to image destination Storing signatures Push successful
Once the push is successful, get the route to your application and ensure it is functioning properly:
$ oc get routes NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD httpd-example httpd-example-myproject.apps-crc.testing httpd-example <all> None $ curl -Ik httpd-example-myproject.apps-crc.testing HTTP/1.1 200 OK [...]
Congratulations, you now have a sample httpd
application running on Red Hat OpenShift 4!
You can also use odo
, a developer-focused command-line interface for OpenShift, to interact with the OpenShift cluster provided by CodeReady Containers.
For more information about CodeReady Containers, see the official CodeReady Containers documentation. Also, see the video below for a hands-on look.
Getting help
If you encounter any issues using CodeReady Containers, see the Troubleshooting Red Hat CodeReady Containers guide. If this does not resolve your issue, create a bug in Bugzilla with the ‘crc’ component.
For community discussion, join the #codeready IRC channel on Freenode.
Acknowledgements
Many thanks to the CodeReady Container development team, members of the Red Hat OpenShift development team and blog writers/reviewers Kevin Owen, Gerard Braad, Praveen Kumar, and all.
Last updated: November 8, 2023