Chapter 1. Developing using containers and the cloud in CodeReady Studio
1.1. Using Red Hat CodeReady Containers tools in CodeReady Studio
Red Hat CodeReady Containers (CRC) brings a minimal OpenShift 4 cluster to your local computer. This cluster provides a minimal environment for development and testing purposes. It is mainly targeted at running on developers' desktops. For other use cases, such as headless, multi-developer or team-based setups, use of the full-fledged OpenShift installer is recommended.
For a more in-depth introduction to OpenShift, see OpenShift documentation.
1.1.1. Downloading and installing Red Hat CodeReady Containers
The following section describes how to set up CodeReady Containers in CodeReady Studio.
Prerequisites
- Download the latest release of CodeReady Containers and the pull secret.
Extract the CRC file.
For more information on how to install and set up CRC, see the Installation chapter of the Getting started with CodeReady Containers Guide.
Procedure
- Start CodeReady Studio.
Click Window → Show View → Other.
The Show View window appears.
- Enter Server in the search field.
- Select Servers.
Click Open.
The Servers view appears.
Right-click any area in the Servers view.
Click New → Server.
The Define a New Server window appears.
- Select CodeReady Containers 1.0+.
Click Next.
The CodeReady Containers window appears.
- Click Browse to locate the CRC binary.
- Click Browse to locate the CRC Pull Secret File.
- Click Finish.
Your newly added CodeReady Containers 1.0+ server adapter is now listed in the Servers view.
In case you did not set up CRC prior to starting the server adapter, you will see a warning: CRC has not been properly initialized!
Follow the on-screen instructions to initialize CRC.
1.1.2. Using the OpenShift Container Platform tools
The following section describes how to use OpenShift Containers in CodeReady Studio.
Prerequisites
The CRC server adapter is set up and configured.
For more information, see Downloading and installing CRC.
Procedure
- Start CodeReady Studio.
Start the CRC server adapter.
Click Window → Show View → Other.
The Show View window appears.
- Enter OpenShift in the search field.
- Select OpenShift Explorer.
Click Open.
The OpenShift Explorer view appears.
Press Ctrl+N.
The Select a wizard window appears.
- Enter OpenShift in the search field.
- Select OpenShift Application.
Click Next.
The Sign in to OpenShift window appears.
Provide your credentials and click Next.
The Create OpenShift Project window appears.
- Name your project.
Click Finish.
The Select template window appears.
- Select a template.
Click Next.
The Build Configuration window appears.
- Ensure that the build configurations are correct.
- Click Finish.
Your newly created OpenShift application project is now listed in the OpenShift Explorer view.
Additional resources
- For more information on how to perform additional tasks with the OpenShift Container Platform projects and application, see Developing for the Cloud with OpenShift in CodeReady Studio.
1.2. Using Red Hat Container Development Kit tools in CodeReady Studio
Red Hat Container Development Kit (CDK) is a pre-built container development environment based on Red Hat Enterprise Linux (RHEL). CDK helps you get started with developing container-based applications quickly.
1.2.1. Installing Container Development Kit
The following section describes how to install CDK from within CodeReady Studio.
Prerequisites
Ensure that the Hypervisor is installed and configured on your system:
- VirtualBox, Linux KVM/libvirt (Linux)
- xhyve (macOS)
- Hyper-V (Windows)
Ensure that hardware virtualization is enabled on your system.
For more information, see Setting Up the Virtualization Environment.
Ensure that you have a Red Hat Developer account.
To create a new account, visit developers.redhat.com.
For more information on CDK, see the Red Hat Container Development Kit Getting Started Guide.
Procedure
- Start CodeReady Studio.
Click Window → Show View → Other.
The Show View window appears.
- Enter Server in the search field.
- Select Servers.
Click Open.
The Servers view appears.
Right-click any area in the Servers view.
Click New → Server.
The Define a New Server window appears.
- Select Red Hat Container Development Kit 3.2+.
Click Next.
The Red Hat Container Development Environment window appears.
Click Download and install runtime.
The Download Runtimes window appears.
- Select a Red Hat CDK version.
- Click Next.
- Ensure that your sign-on credentials for access.redhat.com are correct.
- Click Next.
- Review and accept the license agreement and click Next.
Select the installation folder and click Finish.
Note that the process of downloading and installing the runtime might take some time to complete.
Click Finish.
Your newly created Container Development Environment 3.2+ server is now listed in the Servers view.
Right-click CDK server adapter → Start.
NoteIn case you did not set up CDK prior to starting the server adapter, you will see a warning: CDK has not been properly initialized!
Follow the on-screen instructions to initialize CDK.
1.2.2. Using Docker tools
1.2.2.1. Creating a Dockerfile
Prerequisites
The CDK server adapter is set up and configured.
For more information, see Installing CDK.
Procedure
- Start CodeReady Studio.
Start the CDK server adapter.
Press Ctrl+N.
The Select a wizard window appears.
- Enter Java Project in the search field.
- Select Java Project.
Click Next.
The New Java Project window appears.
- Name your project.
- Select the location for your project.
Click Finish.
Your newly created Java project is now listed in the CodeReady Studio view.
Right-click your Java project → New → File.
The Create New File window appears.
- Select the parent folder.
- Name your file.
Click Finish.
Your newly created file is now displayed in the CodeReady Studio editor.
Paste the following content into your newly created file:
# Use latest jboss/base-jdk:8 image as the base FROM jboss/base-jdk:8 # Set the WILDFLY_VERSION env variable ENV WILDFLY_VERSION 10.1.0.Final ENV WILDFLY_SHA1 9ee3c0255e2e6007d502223916cefad2a1a5e333 ENV JBOSS_HOME /opt/jboss/wildfly USER root # Add the WildFly distribution to /opt, and make wildfly the owner of the extracted tar content # Make sure the distribution is available from a well-known place RUN cd $HOME \ && curl -O https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz \ && sha1sum wildfly-$WILDFLY_VERSION.tar.gz | grep $WILDFLY_SHA1 \ && tar xf wildfly-$WILDFLY_VERSION.tar.gz \ && mv $HOME/wildfly-$WILDFLY_VERSION $JBOSS_HOME \ && rm wildfly-$WILDFLY_VERSION.tar.gz \ && chown -R jboss:0 ${JBOSS_HOME} \ && chmod -R g+rw ${JBOSS_HOME} # Ensure signals are forwarded to the JVM process correctly for graceful shutdown ENV LAUNCH_JBOSS_IN_BACKGROUND true USER jboss # Expose the ports we're interested in EXPOSE 8080 # Set the default command to run on boot # This will boot WildFly in the standalone mode and bind to all interface CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]
- Press Ctrl+S to save the changes.
Your Dockerfile has been created.
Additional resources
- For more information about Dockerfiles, see Dockerfile reference.
1.2.2.2. Building a Docker image Using Red Hat Container Development Kit
Prerequisites
The CDK server adapter is set up and configured.
For more information, see Installing CDK.
A Java project and a Dockerfile.
For more information, see Creating a Dockerfile.
Procedure
- Start CodeReady Studio.
Start the CDK server adapter.
- Expand your Java project.
Right-click Dockerfile → Run as → Docker Image Build.
The Docker Image Build Configuration window appears.
- Select your Container Development Environment server adapter as your connection.
- Name your image.
- Click OK.
The Console view appears displaying the docker image building process.
1.2.2.3. Additional resources
1.2.3. Additional resources
- For more information on how to perform tasks using the OpenShift Container Platform tooling, see Developing for the Cloud with OpenShift in CodeReady Studio.
- For more information on how to use OpenShift in CodeReady Studio, see OpenShift basics in CodeReady Studio.