Skip to end of metadata
Go to start of metadata

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 Docker documentation.

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 8
  • Installation of Mission Control
Page Contents

 

Download and Installation

Download

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

Keep Mission Control on your $PATH

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

Before you begin

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 recommendation from Elastic Search.

To set the mmap count, run this command:

  sysctl -w vm.max_map_count=262144

Download from custom docker registry

By default, the Mission Control script pulls all the images from docker.bintray.io. Since this is a public registry, authentication is not required.

To download these images from a Docker registry that requires authentication, follow the steps below:

  1. In the mission-control script change the value of the JFMC_DOCKER_REPO variable from "docker.bintray.io" to "<your_registry>"
  2. Set the credentials using JFMC_DOCKER_REPO_LOGIN and JFMC_DOCKER_REPO_PASSWORD as environment variables,
    1. These can be set for the current session,

      export JFMC_DOCKER_REPO_LOGIN=<username>
      export JFMC_DOCKER_REPO_PASSWORD=<token>
    2. To make these settings permanent, add the variables to $HOME/.bashrc (in most Unix systems)

Docker Volume Mount

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 in ~/.jfrog/jfmc/jfmc-installer/jfmc-env.conf for later use when upgrading.

    Mounted Directory Ownership

    From version 3.2, user jfmc is used to start and run the Mission-Control Docker containers.

    The jfmc user default ID is 1050, mount root must have write privileges for this ID (1050).

    To install Mission Control, simply run:

    ./mission-control install

    Use "bash"

    We strongly recommend invoking Mission Control scripts with the bash interpreter.

    Using External Databases

    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 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 Mission Control to use 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.

  3. Start Mission Control

    ./mission-control start

Working in the Docker container

 You can work in the Docker container using:

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

Offline Installation

JFrog Mission Control can be installed without the host machine having access to the Internet. To perform this offline installation, follow these steps: 

  1. Download the archive file and the installer "mission-control.sh" file from the Mission Control download page.

  2. Copy both files to the target machine.
  3. Load the images into the Docker host machine using the following command:

    docker load -i mission-control-<version>-docker-images.tar
  4. Execute the installer with the offline flag :

    ./mission-control -o install | upgrade

Changing Port Settings

In case your installation of Mission Control creates a conflict for ports on your system, you may change the port through which Mission Control will operate as follows:

  1. Stop the Mission Control services (if they are running)

    ./mission-control stop
  2. In $MC_HOME/jfmc/etc/mission-control.properties, set your desired port as follows:

    server.port=<port number>

    If the mission-control.properties file does not exist, you can just create it and add the line above. Make sure to set the owner and group of this file to be the same as its parent folder (etc)

  3. Start the Mission Control services

    ./mission-control start

Upgrading Mission Control

Upgrading from older versions or ZIP installation

If you are upgrading from an older version that was installed without the installation script, or your 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.

In addition, to allow the Mission Control container to read/write data, logs and other content, you need to change the ownership of certain folders as shown below:

chown -R 1050:1050 $MC_HOME/data $MC_HOME/etc $MC_HOME/logs

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

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

      ./mission-control stop

      Script Invocation

      Scripts in Mission Control installer is recommended only to be executed with bash interpreter.

    3.  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. 

        1. To upgrade from version 1.5.x and below to version 1.6, first download the  JFrog Mission Control 1.6 insatallation script 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.

        2. 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

          Using External Databases

          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 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 Mission Control to use 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.

        3. Start Mission Control

          ./mission-control start



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
  • No labels