Chapter 9. Managing Docker Containers

A Docker container is a sandbox for isolating applications. The container image stores the configuration for the container. This section shows how to use hammer to provision Docker containers. For web UI equivalents of the following procedures see the Red Hat Satellite Host Configuration Guide.

In Red Hat Satellite, you can deploy containers only on a compute resource of the Docker provider type. See the Satellite Host Configuration Guide for instructions on how to prepare a container host. To register this host as a compute resource, issue the following command:

$ hammer compute-resource create
--name <cr_name> \
--organization-ids <org_ID1>,<org_ID2>... \
--location-ids <loc_ID1>,<loc_ID2>... \
--url <cr_url> \
--provider docker

Use the following syntax to provision a container on the compute resource:

$ hammer docker container create \
--name <container_name> \
--compute-resource-id <cr_ID> \
--repository-name <repo_name> \
--tag <tag> \
--command <command>

Find the compute resource ID in the output of hammer compute-resource list. Replace <repo_name> with the name of the synchronized repository that contains your docker images. This can be a custom repository pointing to Docker Hub or your internal registry (see Section 2.3.4, “Creating a Custom Repository”), or the official Red Hat image repository. If you provision from a Content View, replace <repo_name> with the name of the Content View. See Section 3.2.3, “Adding Docker Images to a Content View” for details on adding images to a Content View.

By starting a container you start the process specified with the --command option during the container creation. To start a container, issue the following command:

$ hammer docker container start --id <container_ID>

For the full list of container related options, see the output of the hammer docker container --help command.