This panel searches content only in this space. To search content in all spaces, use the box at the upper right.

For overview information, see Discovery Environment on the CyVerse website.


Maintenance Notice

Discovery Environment         7:00am to 5:00pm MST
The Discovery Environment will be unavailable while patches and updates are applied.
        ** Currently running analyses will be terminated. Please plan accordingly.

Data Store                    7:00am to 5:00pm MST
The Data Store will be unavailable during the maintenance period.
Data Commons                  7:00am to 5:00pm MST
The Data Commons will be unavailable during the maintenance period.
Atmosphere and Cloud Services 7:00am to 5:00pm MST
Special NOTE: Marana Cloud - This maintenance includes servicing power supply equipment to Marana Cloud. If you have instances running on Marana Cloud, they may be shut off. Should this happen, you will need to go into Atmosphere and start your instance once the maintenance period has completed. Please plan accordingly.  

User Portal                   7:00am to 5:00pm MST
The User Portal,, will be unavailable while we perform maintenance and updates.
Agave/Science API             7:00am to 5:00pm MST
The Agave/Science API will be unavailable during this maintenance period.
DNA Subway                    7:00am to 5:00pm MST
DNA Subway will be unavailable during this maintenance period.

The following services will NOT be affected by the maintenance: CyVerse Wiki, Bisque Website, and Jira.  

Check your local timezone here
Keep up to date with our maintenance schedules on the CyVerse public calendar
Please contact for any questions, or concerns.




Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.



Step 1: Check if the tool and correct version are already installed in the DE.

Before requesting installation of a new tool or new version of an existing tool, check the list of all tools in the DE to make sure that the tool and version you want is not already available. Because all tools now run inside a Docker containers and are installed as Docker images in the DE, if the tool is not already available, you must first create a Dockerfile for the tool before requesting its installation in the DE.

Step 2: Create the Dockerfile following best practices.

Construction of each tool's image needs to be reviewed in order to ensure that its construction is as repeatable as possible, as well as ensuring that execution of each tool is as repeatable and reliable as possible. The Dockerfile satisfies this goal of documenting how a particular tool was installed and of making the tool construction repeatable. To do so, use the following guidelines:

  • Adhere to the Docker community specific set of instructions.
  • Additionally, here are few CyVerse Dockerfile best practices:
    • Include all installation steps in the Dockerfile. For example, a Dockerfile should not copy and run a script that performs Ubuntu APT commands; instead, the APT commands should be in the Dockerfile.
    • Write the Dockerfile to fail-fast. This means that if anything goes wrong, construction of the image will fail.
    • Encapsulate the tool execution to avoid external dependencies unless by design (e.g., tool provides integration with external service).

    • Derive the tools from official Docker images.

    • Specify an ENTRYPOINT in your Dockerfile. The entry point will allow the docker image to be run similar to an executable. Alternatively, you can also provide an entry point later when adding your tool to the Discovery Environment.

Examples of good Dockerfiles

Two simple examples of good Dockerfiles are shown below.
Additionally, take a look at the list of commonly used CyVerse base images in the FAQ section below, and the troubleshooting tips in the Docker cheat sheet.


Figure 2. Flow diagram of Dockerization of tools in the DE


  • Build a new image: Use docker build command as shown below to test your new image:
Code Block
docker build -t <your/docker-image> .


  • Test the new image: Use docker run command as shown below to test your new image:


  • If your app works the way you expect it to, skip to Optional steps.
  • If your app still needs a bit of work and If the changes you make affect your Dockerfile (for example, it uses a newer version of the software and subsequently new dependencies are created), go back to step 2 and repeat.