Container Volumes
    • 09 Sep 2024
    • 6 Minutes to read

    Container Volumes


    Article summary

    Container Volumes contain a directory (or multiple directories) that files can be uploaded to or file scan be uploaded outside of a directory. Once files are uploaded, Container Volumes allow lab authors to load files into any Containers in the lab and share content between containers within a lab.

    Container Volumes deliver significant operational efficiencies for lab developers by not having to modify containers for each course and not having to manage pushing containers to repositories and managing container naming. The same container can be used for a series of courses, therefore delivering these efficiencies as well as ensuring a consistent and familiar experience for lab users.

    Create Container Volume

    To create a new Container Volume:

    1. From the Skillable Studio Admin page, select Container Volumes on the Containers tile.

    2. Select + Create Container Volume in the upper-right corner of the page.

    3. Enter a Name and Description for the Container Volume.

    4. Select the Organization that will have access to the Container Volume, and all the files that are uploaded to the Container Volume.

      If a lab uses containers that do not belong to the organization configured on a container lab, the lab will be unable to access the Container Volume and the files uploaded to the Container Volume. The same organization must be configured on the Container Volume and containers, to access the Container Volume and files uploaded to the Container Volume.

    Container Volume Management

    Container Volumes can be managed on the Container Volume details page.

    When making changes to files or directories in a Container Volume, it may take up to five minutes for file changes to be available in new lab instances.

    To manage your Container Volume:

    1. Navigate to the Container Volume in Skillable Studio.

    2. Select the Files button in the upper-right corner of the page.

      From this page, you can create a new directory or upload files.

    Create New Directory

    Container Volumes can contain directories, to store files.

    To create a new directory:

    1. Select + New Directory.

    2. In the dialog that appears, enter a Name for the new directory

    3. The new directory will be displayed on the page. Select the directory by double clicking on it.

    4. Select Upload

    5. Drop files into the dialog or select Choose Files to navigate to a file on your local computer.

    6. Select OK to upload the file.

      If you are uploading a file and wish to overwrite an existing file that has the same file name, select Overwrite existing files.

    Upload Files to Container Volume

    If a directory already exists in your Container Volume, you may upload files to it, or you can upload files outside of a directory.

    To upload files:

    1. Navigate to your Container Volume.

    2. Select the directory if you wish to upload files to a directory, or select Upload to upload files outside of a directory.

    3. Drop files into the dialog or select Choose Files to navigate to a file on your local computer.

    4. (Optional) If you are uploading a file and wish to overwrite an existing file that has the same file name, select Overwrite existing files.

    5. Select OK to upload the file.

      File uploads are limited to 2GB per file.

    Use a Container Volume in a Lab

    To use a Container Volume in a lab, it must be added to the Lab Profile. Once it is added to the Lab Profile, all containers within the Lab Profile will be able to have access enabled to the Container Volume and any directories and files that are stored in it.

    Add Container Volume to Lab Profile

    To add a Container Volume to a Lab Profile:

    1. Navigate to the Lab profile that you wish to use a Container Volume with.

    2. Select the Edit button in the upper-right corner of the page.

    3. Select the Volumes tab at the top of the page.

    4. Select + Add Container Volume to add your Container Volume to the Lab Profile. If you do not have a Container Volume, follow the steps to create one in the Create Container Volume section of this document.

    5. Enter the Name of the Container Volume you wish to add, or add additional filters to the search, to locate the Container Volume you wish to add.

    6. Select Search, then select the Container Volume you wish to add and then select OK.

    7. Next, select the Containers tab.

    8. Select the name of the container volume next to the Volumes checkbox on each container that you wish to have access to the Container Volume.

    9. Enter the Mount Point of the Container Volume, if you wish to have a container mount the volume at a specific file path within the Container Volume. If you wish to have the container mount the Container Volume at the root of the Volume, leave the default Mount Point as Skillable Studio has entered it.

    10. Save the Lab Profile.

    Access Container Volume Files in a Running Lab

    Accessing a Container Volume in a lab is accessed the same as interacting with the file system

    Accessing the files in a container volume is the same as accessing the container's file system or accessing any attached storage and/or media. Lab users can use the container specific methods to access Container Volumes.

    To access the Container Volume in a running lab:

    1. Launch the lab.

    2. Access the file system with the container specific methods for your container. For most containers, this will be entering commands in a terminal or command line interface, but for some containers there may be a graphical user interface.

    Changes made to a Container Volume file in a running lab can be seen by other containers within the lab instance. These changes will not be reflected in other labs that are using the same containers or Container Volumes.

    Example Use Cases

    • Allow lab authors to create a single container image and use that container image with multiple labs, each using custom content from the files in the Container Volume.

    • A scored developer lab where the learner creates code within container A and the code is assessed by running activity scripts against container B that isn't visible to the lab user. This simplifies the overall architecture, and increases the integrity of the assessment.

    • Containers are being used for a series of programming courses using an Integrated Development Environment (e.g., Visual Studio, Atom, Jupyter, etc) with different programming languages and different example or starter files. This would often require creating a series of updated containers for the starting state of each course. With Shared Container Volumes, it will be a single container that is used and it will just have a different Shared Volume attached and different IDLx instructions. This scales the deliverables by the Lab Developer, enables organizations to update content faster and more frequently as required, without having to manage complexities of container versioning and repository management. This use case can be extended to any application service being used in a container that needs the student to access some type of file or data for learning.

    • Shared Container Volumes can be shared between multiple containers within the same lab. There may be scenarios with learners using Linux and trying to move files between systems. This task is often difficult and not part of the required learning objectives. Container Volumes provides the ability to have a Shared Volume between Linux Containers, which makes this process much simpler and enables the learner to stay engaged and focused on the learning objective rather than be distracted by something that is required, but not important.

    • Immersive learning environments typically require new containers to be created for each immersive learning environment that is required for a training course. These additional containers can take additional time to build and save to container repositories. When using Shared Container Volumes, a master container can be created and then for each course the Shared Volume content is updated to reflect the specific content required for that course and the immersive environment that will be delivered. This will enable quicker delivery of each course and the ability to update content faster and removing the complexities with container management.

    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.