Lab 2 - BYO Container

Return to Workshop

Bring your own OCI image

It's easy to get started with OpenShift whether you're using our app templates or bringing your existing assets. In this quick lab we will deploy an application using an exisiting container image. OpenShift will create an image stream for the image as well as deploy and manage containers based on that image.

Let's point OpenShift to an existing built container image

Choose either to complete the steps via CLI or Web Console.
Note: You can only choose one OR the other not both.

Goto the terminal and type the following to create a new project:

$ oc new-project demo-YOUR#
Now using project "demo-YOUR#" on server "https://172.30.0.1:443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app rails-postgresql-example

to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:

    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname

By default, create a new project will default you to "using" that project. In the event that the project is already create, you get set the "using" option by type the following:

$ oc project demo-YOUR#

Now, let's launch a pre-existing container from a container registry.

$ oc new-app sonatype/nexus:oss --as-deployment-config=true

The output should show something similar to below:

--> Found container image 8027e6d (2 months old) from Docker Hub for "sonatype/nexus:oss"         
                                                                                                  
    Red Hat Universal Base Image 7                                                                
    ------------------------------                                                                
    The Universal Base Image is designed and engineered to be the base layer for all of your conta
inerized applications, middleware and utilities. This base image is freely redistributable, but Re
d Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is
 maintained by Red Hat and updated regularly.                                                     
                                                                                                  
    Tags: base rhel7                                                                              
                                                                                                  
    * An image stream tag will be created as "nexus:oss" that will track this image               
    * This image will be deployed in deployment config "nexus"                                    
    * Port 8081/tcp will be load balanced by service "nexus"                                      
      * Other containers can access this service through the hostname "nexus"                     
    * This image declares volumes and will default to use non-persistent, host-local storage.     
      You can add persistent volumes later by running 'oc set volume dc/nexus --add ...'          
                                                                                                  
--> Creating resources ...                                                                        
    imagestream.image.openshift.io "nexus" created                                                
    deploymentconfig.apps.openshift.io "nexus" created                                            
    service "nexus" created                                                                       
--> Success                                                                                       
    Application is not exposed. You can expose services to the outside world by executing one or m
ore of the commands below:                                                                        
     'oc expose svc/nexus'                                                                        
    Run 'oc status' to view your app.  

Now, let's create a route, so that you can get to the app:

$ oc expose service/nexus --path=/nexus

Ensure that you are in "Developer" mode, by clicking on the menu, in the top left corner under the logo and selecting "Developer"


Create a new project by selecting the "Project:" drop down and selecting "Create project"
Note: When prompted, ensure to create the project with the name demo-YOUR#


Click "+Add" and then "Container Image", to add an existing image from the container registry


Select the option for "Image name from external registry" and enter "sonatype/nexus:oss", then ensure that the image is validated.


Enter the values shown, in the image above.

Application Namenexus-app
Namenexus
ResourcesDeployment Config
Create a route to the applicationChecked
Click "Routing"
Path/nexus

Click "Create"

Workshop Details

Domain Red Hat Logo
Workshop
Student ID

Return to Workshop