Container Images
    • 09 Sep 2024
    • 3 Minutes to read

    Container Images


    Article summary

    Skillable Studio supports using Docker Container Images in a lab environment. Container images can be imported from Docker Hub or other container registries.

    Create a Container Image in Skillable Studio

    1. From the Skillable Studio Admin page, click Create Container Image.

      Container Images Admin tile

    2. Populate the following fields:

    Field

    Description

    Name

    The name of the container image on Docker Hub. The container image name needs to match the name exactly how it appears in Docker Hub. The container image will be imported from Docker Hub, based on the name.

    It is recommended that you use a version-specific tag (signified by a colon separator). This helps ensure that the  same container image will be used over time. If you do not use a tag, the "latest" tag will be used automatically. This is useful if you intend to always use the latest version of the container, but runs a higher risk of getting out of sync with your lab's instructions and content. To find tags that are available for the container image you are using, look at the container image page in Docker Hub. It will list any available tags. It is also possible to specify an image by using a digest. This guarantees that you will use the specified image version. The format for using a digest is image@sha256:digest.

    Description

    Add description of the container image or how the image will be used in a lab.

    Organization

    Select the organization that will have permission to edit and use the container image.

    Registry

    Select the container registry where your container is managed. For more information, see our Container Registry documentation.

    Size

    Select the size of the container. These size profiles will set the amount of RAM, number of processors, and will govern the number of NICsallowed to be configured on the machine.

    Run as User

    This optional value can be used to control the user account the container is run under.

    Entry Point

    Allows you to set or override the container's default entry point. Example: /bin/bash.

    Command

    Enter any commands that the container needs to function. If no commands are need, simply leave bash in the field.

    Environment Variables

    Variables can be set for items such as configuration settings, encryption keys, and external resource addresses. For moreinformation about environment variables, read Define Environment Variables.

    Exposed Ports

    The port(s) that will be exposed on the container. Enter on port value per line. Each exposed port will be dynamically  mapped to an external port on the lab host server when the lab is deployed. The external addresses for exposed ports can be obtained in your labs via @lab tokens.

    For example, an exposed port of 5000 might be referenced as: @lab.Container(alias).ExposedPort(5000).Address.
    Please note that the external port will most likely not be the same as the container's exposed port. The external port is 100% dynamic and not something that can be directly controlled.

    Display

    Select how the first exposed ports will be displayed.
    Note: Terminal and Web display will only connect to the first port that is configured on the container profile.

    Terminal

    Allows a terminal connection to the exposed port of the container.

    Web

    Allows the lab client to connect to the exposed port and display the output of that port from the container. Web display requires the lab profile to have at least one network attached. Skillable uses a proxy to secure the web application, and adds an SSL certificate, to prevent unauthorized users from accessing your content.

    Start path

    Allows signing in to the web application in the container, using a URL parameter. Example: app/login.

    Use Relative Links

    How the container's web application generates links to pages within the web application. Enable this option to use relative links within the container. Disabling will cause the container to use absolute links.

    Enabled

    Check the box to enable the container image.

    Lab Profile Configuration

    Container images are configured on lab profiles on the Basic information tab, by selecting Docker as the virtualization platform.

    To configure a container image on a lab profile:

    1. Navigate to the lab profile.

    2. On the basic information tab, select Docker as the virtualization platform.

    Select Docker from Virtualization Platform drop-down menu

    1. After Docker is selected, a new tab will appear for containers. Click the Container tab to continue.

    2. Click Add Container Image.

    3. Use the search to find the container image you want to use and click OK.

    4. Configure the following options:

    Field

    Description

    Display Name

    The display name of the container image. This is how the container will be displayed in the lab to the student.

    Replacement Token Alias

    The alias that can be used in @lab replacement tokens to target the container image.

    Visible to student

    Allows the container image to be visible to the student.

    Default selection

    Set the lab to focus on the container as the default selection when the lab launches.

    Related Topics


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.