Documentation Videos View Site

# Installing Satellites From Docker Images

Most CMDB-360 Satellites are available to install and run as Docker containers from Docker images available from the base2summit Dockerhub repository. Public satellites are available to download without any additional authentication. The base2summit Docker Satellite repositories can be found at (or you may search Dockerhub for “base2summit”):

https://hub.docker.com/

Screenshot 2024-05-28 at 7.52.22 AM

Note

For private satellites, you will need a private token provided to you by the CMDB-360 support team to pull these images. You must then login to the repository below using the username “base2summit” and your private token.

Screenshot 2024-05-28 at 7.55.00 AM

# Pulling Satellite Image (Latest Tag)

To pull a satellite image, you should use the Docker Pull Command using the latest tag. For example to pull the latest docker image build of the OCI Satellite:

docker pull base2summit/satellite.oci:latest

You can see the Docker Pull Command when you access any of the satellite repository pages (such as the one shown above). A list of all the available tags for each repository is shown (which correlates to a satellite) but we recommend you always pull the latest unless instructed otherwise by our support team.

The CMDB Satellite Overview screen will also provide the Docker Pull Command for any Satellite that has a corresponding Docker image.

Note

You may also use the Docker Desktop utility and search for the given satellite repository as well. We will not cover the use of Docker Desktop in this document, instead focusing on the Linux command line.

Once you have pulled the image, you should see it as an available image in your docker images list:

docker images

REPOSITORY                  TAG       IMAGE ID       CREATED        SIZE
base2summit/satellite.oci   latest    030b1248503a   14 hours ago   963MB

Take note of the IMAGE ID as you will need it to run the image as a container as described in the next section.

# Deploy (Run) Image As A Docker Container

To deploy the image as a Docker container, use the docker run command using the IMAGE ID. The output will be the ID of the new running container.

docker run -t -d --restart unless-stopped --name="name-you-want" IMAGE_ID

Example:

docker run -t -d --restart unless-stopped --name="my-oci-satellite" 030b1248503a
9f149e5e9b63e23072b34d3c8ccd0cb8b7db6d32538259510728c34083d6ae00

We recommend you provide the following options to docker run:

-t option- allocate a pseudo-TTY

-d option - means run detached (Run container in background and print container ID)

--restart unless-stopped option - instructs docker to always restart the container if it exists - optional for non-production (testing or lab)

--add-host xyz.cmdb360.com:IP_ADDRESS - option - if your docker container is accessing a local DNS hostname, this will update the container's host file

# See List of Running Docker Containers

You may view a list of running docker containers on your server using the docker ps command as shown:

docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS              PORTS     NAMES
9f149e5e9b63   030b1248503a   "supervisord -c /etc…"   About a minute ago   Up About a minute             my-oci-satellite

Note the CONTAINER ID which will be used to connect to the container, copy files to it, and to stop and start the container. You may have noticed a longer version of this CONTAINER ID when the container was initially deployed. These IDs are interchangeable (short version works the same).

# Copy File(s) To Docker Containers

In the case of some satellites (for example OCI), you may need to copy a credentials file to the satellite. In order to do this, you may use the docker cp command from the docker host server to target the filesystem of the container (running or stopped). For example, to copy the encrypted OCI configuration file created using the OCI Terraform bundle:

docker cp FILENAME CONTAINER_ID:TARGET_PATH

Example:

docker cp config.oci.yml 9f149e5e9b63:/opt/satellite/etc/.

Successfully copied 4.1kB to 9f149e5e9b63:/opt/satellite/etc/.

Now the config.oci.yml file will be found in the /opt/satellite/etc directory of the container.

# Connect To A Running Docker Container

You may access the shell of a running docker container using the docker exec command. You will need the CONTAINER ID of the container.

docker exec -it CONTAINER_ID DESIRED_SHELL

Example:

docker exec -it 9f149e5e9b63 bash

[root@9f149e5e9b63 /]# ls
afs  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

The options provided to docker exec are as follows:

-t option - allocate a psuedo-TTY

-i option - interactive session

bash will be the shell you will receive - satellites offer bash and sh shells

# Stopping A Running Container

You may stop a running container using the docker stop command. You will need the CONTAINER ID of the container.

docker stop CONTAINER_ID

Example:

docker stop 9f149e5e9b63
9f149e5e9b63

You will receive the CONTAINER ID (short) on successful stop. You can see the status of the containers on your docker host using the docker ps command:

docker ps -a

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                          PORTS     NAMES
9f149e5e9b63   030b1248503a   "supervisord -c /etc…"   50 minutes ago   Exited (0) About a minute ago             my-oci-satellite

# Starting A Container

You man start a stopped container using the docker start command. You will need the CONTAINER ID of the container.

docker start CONTAINER_ID

Example:

docker start 9f149e5e9b63
9f149e5e9b63

You will receive the CONTAINER ID (short) on successful start. You can see the status of the containers on your docker host using the docker ps command:

docker ps -a

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS     NAMES
9f149e5e9b63   030b1248503a   "supervisord -c /etc…"   52 minutes ago   Up 38 seconds             my-oci-satellite