Mission Control as a Docker Image

Mission Control can be installed as a Docker image and run as a container. To do this, you need to have Docker client properly installed and configured on your machine. For details about installing and using Docker, please refer to the.

If you are running on a Windows or Mac, you need to install the Docker native client. Please note the we have only tested Docker installations on Linux and Mac.

Image Contents

The Mission Control Docker image contains the following components:

  • Debian jessie 8
  • OpenJDK
  • Installation of Mission Control

 

License

Mission Control itself is provided for free and has no license requirements. However, while you may view any Artifactory service from Mission Control, you may only configure and see relationships between services that are activated with an Artifactory Enterprise license.

You may add services of Artifactory OSS, Artifactory Pro to Mission Control, but for these instances, you can only view basic information. You cannot perform any actions on these services through Mission Control.

As a shared managed service, Artifactory SaaS is maintained for you by JFrog and can not be managed by Mission Control.

However, if you are running Artifactory SaaS as a dedicated server, this can be fully managed by Mission Control.



Download and Installation

Download

The JFrog Mission Control Docker installer can be downloaded from the.

Make sure to save the downloaded file in one of the locations defined in your $PATH environment variable so it is accessible from anywhere on your machine.

Installation

Since Mission Control uses Elastic Search as its database for historical data, you need to set the mmap count to a larger value than default to avoid any memory leaks. Please refer to this .

To set the mmap count, run this command:

sysctl -w vm.max_map_count=262144

If requested at any time during the installation or upgrade process, make sure to provide the correct path to your Docker volume mount in the likely event that you're not using the default specified in the installation and upgrade scripts.

The JFrog Mission Control Docker image may be installed on any platform supporting Docker CE v17.x and above. To install Mission Control as a Docker image, follow the instructions below:

  1. Make mission-control executable
    To give the Mission Control installation script execute privileges on your machine, run: 

    chmod +x mission-control
  2. Install Mission Control
    The installation process will prompt you for a "root folder". You may keep the default (current) location or specify another location on your machine. Choose this location carefully since you may not change it later, and this is where JFrog Mission Control saves its data, configuration files and logs. The Mission Control installer will only prompt you for this location for initial installation. It is stored for later use when upgrading.
    To install Mission Control, simply run:

    ./mission-control install

    JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

    From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

    When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

    For details on how to respond to these prompts, please refer to Using External Databases.

    Note that for a Docker installation, Mission Control cannot seed an external MongoDB or Postgres database and requires you to seed these databases manually.

  3. Start Mission Control

    ./mission-control start

     


     

 You can work in the Docker container using:

docker exec -it <container name> /bin/bash


Upgrading Mission Control

Upgrading Mission Control may vary slightly depending on your current version and the new version you are upgrading to.

    • Download the latest installation script as described above
    • Stop your current installation of Mission Control using the following command:

      ./mission-control stop
    •  Run the upgrade according to your version as follows:

      • To upgrade from version 1.6 and above, run

        ./mission-control upgrade
        ./mission-control start
      • To upgrade from version 1.5.x and below, you first need to upgrade to version 1.6 and then upgrade to version 2.x. 

        • To upgrade from version 1.5.x and below to version 1.6, first download the  and then run:

          ./mission-control install
          ./mission-control start

          Note that this is not an error. The mission-control script's install function is used to upgrade from version 1.5.2 and below to version 1.6 and above to ensure that future upgrades work as intended.

        • Then, to upgrade to version 2.x, run the latest installation script you downloaded as described above (Both installation scripts have the same name, so be careful not to confuse them):

          ./mission-control upgrade
          

          JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

          From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

          When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

          For details on how to respond to these prompts, please refer to Using External Databases.

          Note that for a Docker installation, Mission Control cannot seed an external MongoDB or Postgres database and requires you to seed these databases manually.

        • Start Mission Control

          ./mission-control start

        If you are upgrading from an older version that was installed without the installation script, or you previously installed Mission Control as a standalone ZIP installation, you may be prompted for the "root folder". Make sure to specify the same MC_HOME folder your current installation is using.


Interacting with the Docker Installer

In addition to managing installation, the mission-control installation script can provide additional information or perform additional tasks on your installation such as restarting Mission Control, displaying log files and more. For details, run:

./mission-control help

Microservices

Mission Control 2.0 is composed of several microservices that manage different aspects of the product:

serverjfmc_server_1Primary Mission Control service
corejfmc_core_1Handles core functions of for managing graph data
schedulerjfmc_scheduler_1Manages scheduling for different internal Mission Control tasks
executorjfmc_executor_1Executes tasks related to data management
elasticsearchjfmc_elasticsearch_1The database used for all time-series data used to generate graphs
postgresjfmc_postgress_1Database used by the scheduler
mongodbjfmc_mongodb_1Database used by the core
influxdbjfmc_influxdb_1Database used by Mission Control

Migrating data from 1.5.x to 2.0

Mission Control 1.5.x and above used InfluxDB to store the historical data for graphs. Starting Mission Control 2.0, Elasticsearch is the store for this data. To migrate the existing data in InfluxDB to Elasticsearch, please refer to this document.


Accessing Mission Control

Mission Control can be accessed at the following URL:

http://localhost:8080

Default Admin User

Once installation is complete, Mission Control has a default user with admin privileges predefined in the system:

User: admin

Password: password

We strongly recommend changing the admin password as soon as installation is complete.