Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

PaaS provisioning for Docker


Docker allows you to package an application with all of its dependencies into a standardized unit for software development. For details about Docker and its benefits, see https://www.docker.com/what-docker. In BMC Cloud Lifecycle Management 4.6.05 and later, you can register a cluster of Docker engines in swarm mode. For information about using Docker in swarm mode, see https://docs.docker.com/engine/swarm/.

End users can provision applications as Docker containers, which allow better portability between different execution environments by creating more consistency in the behavior of applications across these environments.

Having end users perform Docker provisioning activities from BMC Cloud Lifecycle Management allows the cloud administrator to retain governance over these activities, which includes policy-based placement of containers onto target hosting environments, change management tracking/approval, and audit trail.

The following sections describe the process to set up and use platform as a service (PaaS) provisioning with Docker:

See the following BMC Communities video series to learn more about integrating with Docker:

Integrating with Docker

BMC Cloud Lifecycle Management 4.6 integrates with Docker versions 1.7 and 1.8. Currently, you can install Docker on Ubuntu and Red Hat Enterprise Linux platforms.

To integrate BMC Cloud Lifecycle Management with Docker, an open source cloud computing PaaS, you must complete the following prerequisites:

Registering providers

Registering a provider tells BMC Cloud Lifecycle Management where to obtain resources needed for provisioning. For public PaaS purposes, you must set up two providers: the overall PaaS provider and a proxy provider.

To set up the overall PaaS provider

If you have already set up an overall (generic) PaaS provider, you can skip to the succeeding section, To set up Docker as the proxy PaaS providersection.

  1. From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window, and select Providers.
  2. Under Quick Links, select PaaS.
  3. On the Providers page, click the Register icon plus_button.gif
  4. In the Register Provider dialog box, complete the following fields to create a Public PaaS provider type:
    • Provider Type—Type of provider. For Docker, select PublicPAAS because this provider is the prerequisite for Docker.
    • Name—Name for this instance of the public PaaS provider.
    • Description—Useful description of the provider. Descriptions can help you distinguish provider instances and find a provider when using Search.
  5. Click Submit.

To set up Docker as the proxy PaaS provider

  1. From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window and select Providers.
  2. Under Quick Links, select PaaS.
  3. On the Providers page, click the Register icon plus_button.gif.
  4. In the Register Provider dialog box, select PublicPaaSDocker as the resource provider type to register.
    NoteIf you do not deploy the artifacts from BMC Communities as indicated in the Integrating with Dockersection, PublicPaaSDocker will not show up as an option.
     
    RegisterProxyProvider.PNG
  5. Enter the following information:
    • Name(Required) Name for this instance of a PaaS Docker provider.
    • Description(Optional) Useful description of the provider. Descriptions can help you distinguish provider instances and help you find a provider by using Search.
    • Keystore password(Required) Keystore (cacerts) certificate password.
    • Keystore file path(Required) Keystore certificate file path, which is accessible to the Platform Manager; for example, C:\Program Files\BMC Software\Docker\Certificates\Docker_cert.cert.

      NoteYou can configure hosts in secure or insecure mode. However, Keystore password and Keystore file path are required for hosts that are configured in secured mode. Specifying these two parameters does not restrict you from configuring hosts in insecure mode.
  6. Click Submit.

Managing Docker provider users

If you create a public PaaS provider by using Docker, you can manage users who can access the provider.
  1. In the Providers Workspace, select a PublicPaasDocker provider type.
  2. Click the Mapping User Account button MapUserAcct.png to open the Manage User Accounts dialog box.
    ManageUsers.PNG
  3. In the User Name field, enter the name of a user you would like to add, and press Enter.
    This user is a logical representation of the client-side SSL certificates used to connect the Platform Manager to the Docker host.
  • Enter the authentication parameter values for the user in the table.
    The parameters that appear are determined when you set up the integration. The following table lists the parameters that you must use for Docker:
    Parameter
    Description
    Hostname
    Specify the host name of the Docker host or the Swarm manager host name of the Docker host.
    Port
    Specify the port on which the Docker service is running on the host or the port on which the Swarm Manager service is running on the host.
    Is Secured
    Indicates whether the connection is secure. Valid values: true (default) and false.When set to true, the client-side SSL certificate information is captured from the user in the following parameters:
    (i) File Path for importing Certifying Authority
    (ii) File Path for importing Client Certificate

    (iii) File Path for importing Client Private Key
    File Path for importing Certifying Authority
    (If Is Secured = true) Specify the path from which the certifying authority file will be imported
    File Path for importing Client Certificate
    (If Is Secured = true) Specify the path from which the client certificate file will be imported
    File Path for importing Client Private Key
    (If Is Secured = true) Specify the path from which the private key file will be imported
  1. Click Save.
  2. To edit a user:
    1. Select the user name from the table on the left.
    2. Click the Edit button Edit.png.
    3. Make the necessary changes in the parameter table.
    4. Click Save.
    5. To delete a user, select the user name, and click the Delete button Delete.png.

Back to top

Preparing resources

To prepare the Docker resources that are used for public PaaS provisioning, you must onboard the public PaaS logical data centers. Then, BMC Cloud Lifecycle Management can use the designated resources while PaaS is provisioned. The cloud allocates resources based on tagging.

To onboard PaaS resources

To perform platform-as-a-service (PaaS) provisioning, you must first onboard PaaS resources (the public PaaS logical data centers).

  1. From the BMC Cloud Lifecycle Management Administration console, click the vertical Workspaces menu on the left side of the window and select Resources.
  2. Under Quick Links on the left, click Network Containers.
    The system displays all resources currently onboarded. 
  3. Click Onboard Logical Data Center OnboardLogDataCenter.png.
    The Onboard Logical Data Centers dialog box opens.

    DockerLDCOnboard.PNG
     
  4. In the Provider field, select the name of the public PAAS provider that you set up for Docker.
  5. In the Proxy Provider field that appears, select the name of the proxy provider that you set up for Docker.
  6. In the Account field that appears, select the Account that can access the Docker proxy provider.
    The available logical data centers appear in the list on the left. 
  7. Under Available Logical Data Centers, select resources in the list on the left and move them to the list at right.
  8. Click Onboard.
    Now, you can map the tenants to the logical data center. For more information, see Mapping-tenants-to-network-containers.

For additional information, see Onboarding and offboarding PaaS resources.

Mapping tenants to the logical data center

The next step is to map tenants to a logical data center. The steps are similar to mapping tenants to a network container:

  1. From the BMC Cloud Lifecycle Management – Administration Console, click the vertical Workspaces menu and select Resources.
  2. Under the Quick Links > Network section, click Network Containers.
  3. Select the network container to which you want to map one or more tenants.
  4. Click Manage Tenant Mappings MapTenantsButton.gif.
    The Map Tenants dialog box is displayed for the selected network container. In the Name field, the name of the network container is displayed. In the Available Tenants table, the list of onboarded tenants is displayed.
    Network container map tenants.png
  5. Select one or more tenants from the tenants table and click Add >.
    The selected tenant or tenants are moved to the Mapped Tenants table. You can search for a tenant by using the Search field.

    Note

    The Search field is case-sensitive.

  6. Click Save. 
    The selected tenant or tenants are mapped to the network container.  

    Note

    After you map a tenant to a network container, refresh the page. Sometimes, when you modify the container later, the tenant is not saved against the network container.

Setting up service blueprints for PaaS

The Service Designer workspace offers considerable flexibility when defining a blueprint. The following sections provide a set of steps for creating a single-tier blueprint for a public PaaS service. You can use this approach or develop your own techniques for building a service blueprint.

The steps required to set up a service blueprint are often the same as the steps for setting up a compute resource. For a complete description of all the options available when setting up a service blueprint, including the procedures required to set up a multi-tier blueprint, see Creating-copying-or-editing-a-service-blueprint

Parameters in PaaS service blueprints

Parameters are an important part of setting up service blueprints for public PaaS provisioning with Docker. Parameters allow for user input that override default behavior during the provisioning process. When setting up service blueprints for Docker, there are multiple places where you can define parameters.

Default values are supplied, but you can change them as needed.

The parameters appear on the Parameters panel of the application you add to your service blueprint. (See step 3h in the following procedure.)

For more information, see Configuring-service-blueprint-parameters.

Adding a Docker PaaS resource set to a single-tier service blueprint

  1. In the Service Designer workspace, click Create New > Service Blueprint. Then, click PaaS Resource.
    A new PaaS resource set is added to the service blueprint, and the edit pane for that resource set opens. Use the remaining steps to set up the PaaS resource set.
  2. Under Instance Details, provide information about the instance.
    Menus in the Instance Details section are populated according to the PaaS resources you have onboarded. 

    Docker_Instance_Details.gif

    Field

    Instruction

    Provider

    Select the provider. For Docker, select PublicPAAS.

    Proxy Provider

    Select the proxy provider. For Docker, select PublicPaaSDocker.

    Type

    Select the type of resource. For Docker, select Application Container.

    Subtype

    Select the subtype of the PaaS resource. For Docker, select Docker.

    Edition

    Select the edition of the PaaS resource. This field is not applicable to Docker. Leave the default selection as is.

    Version

    Select the version of the PaaS resource. This field is not applicable to Docker. Leave the default selection as is.

    Description

    Enter the purpose of this PaaS resource.

    Memory Size (MB)

    For Docker, this field is not used. The memory size is taken from the parameters.

    IR Type

    Select the installable resource type. For Docker, select None.

  3. Create a PaaS resource set as shown below:

    NginxSingleTierContainer.GIF
  4. Open the Parameters panel, and add, edit, and delete the necessary parameters.

    singleTierParameters.GIF
    For more information about entering parameters, see Configuring-service-blueprint-parameters.
    The following table lists the parameters that you can specify for a Docker resource:
    Parameter name
    Purpose
    Command to Run
    Specifies the command to run on the specified string or an array of strings
    Note that BMC Cloud Lifecycle Management accepts the syntax that is applicable to the Docker native REST API. However, BMC Cloud Lifecycle Management requires comma as the space delimiter. For example, if you want to run /bin/sh startup.sh at Container startup, specify /bin/sh,startup.sh for this parameter.
    CPU Shares
    Specifies the CPU Shares for the container; specifies the relative weight v/s other containers
    Docker Image Tag
    (Required) Specifies the version tag of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Image Tag as 1.23.2.
    Docker Registry
    Specifies the Docker registryFor example:
    • For private images on Docker hub, specify registry.hub.docker.com. For private registry, specify the fully qualified host name:port.
    • For public Docker images, leave this parameter empty.
    Docker Repository Namespace
    (Required) Specifies the repository namespace of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Repository Namespace as dockeruser1.
    Docker Repository Password
    (Required) Specifies the password to log on to the repository
    Docker Repository User Name
    Specifies the user name to log on to the repository
    Domain Name
    Specifies the string containing the domain name to use for the container
    Environment Variables
    Specifies a list of environment variables
    • For only one environmental variable, use the format VAR=value.
    • For multiple environmental variables, use the format: -e VAR=value -e VAR1=value1.
    Exposed Ports
    Specifies the list of local ports to be exposed outside the container in the format: port1;port2
    Hostname
    Specifies the string containing the host name to use for the container
    Installable Resource
    (Required) Specifies the string containing the Image Repository name For example, for dockeruser1/busybox:1.23.2 specify the Installable Resource as busybox.
    Links
    Specifies the list of links for the container. Each link entry should be in the format: NameOfResourceSet1:alias1;NameOfResourceSet2:alias2
    Memory in MB
    Specifies the memory limit in MB
    Port Bindings
    Specifies the map of exposed container ports and the host port they should map to in the format: port1:hostPort1; port2:hostport2
    Publish All Ports
    Indicates whether to allocate a random host port for all of a container's exposed ports. Valid value: true, false
    Volumes
    Specifies the object mapping mount point paths (strings) inside the container to empty objects in the format: /alias0;/alias1:/value1;/alias2:/value2

    Usage of Installable Resource-related parameters

    Cloud administrators have the flexibility to lock down or open up which part of the image repository they want to expose to end users.The following table is an example scenario that shows how you can expose some of the parameters based on your environment:
    Environment
    Possible actions that end users can perform
    Is "User Entry Enabled" option selected?
    Docker Registry
    Docker
     Repository Namespace
    Docker
     Repository
     User Name
    Docker
     Repository Password
    Installable Resource
    Docker Image
    Tag
    Development
    Select a particular registry or Docker hub account and then select a repository within the Docker hub
    Yes
    Yes
    Yes
    Yes
    Yes
    Yes
    Staging
    Select an image for any repository of a specific account
     only
    No
    No
    No
    No
    Yes
    Yes
    Pre- Production
    Select any version of any image for a particular
    repository or a particular account only
    No
    No
    No
    No
    No
    Yes
    Production
    Cannot select an image because it is burnt
    into the blueprint
    No
    No
    No
    No
    No
    No
  5. Click the PaaS resource set (the green box) to provide basic details.
    GreenBox.GIF

    Field

    Instruction

    Name

    Enter a name for the PaaS resource set.

    Description

    Describe the purpose or nature of the PaaS resource set.

    Number of Instances

    Enter the number of instances to be provisioned. The number you enter appears in the upper-right corner of the box representing a resource instance.

    Tags

    Define any tags you want applied to this PaaS resource set. These tags must match the tags you specify in the logical data center.

    For more information about tags in service blueprints, see Managing-blueprint-tags.

  6. To allow a PaaS resource set to be reused in other service blueprints, save it to the Blueprint Library:
    1. Right-click the PaaS resource set and click Convert to Reference.
    2. Enter a Name for the PaaS resource set. For example, Ngix_Ref. This name will be visible in the Blueprint Library; therefore, provide a name that enables cloud administrators to easily identify the PaaS resource set.
    3. Enter a Description of the PaaS resource set.
    4. Click OK.
      The server is added to the Server/PaaS Blueprints section of the Blueprint Library.
  7. When you have finished defining the PaaS service blueprint, click Save and provide a name for the service blueprint. You can save a version of a blueprint and assign a tag to each version, as described in  Creating-copying-or-editing-a-service-blueprint

Adding a Docker PaaS resource set to a multi-tier service blueprint

  1. In the Service Designer workspace, click Create New > Service Blueprint. Then, click PaaS Resource.
    For each tier, a new PaaS resource set is added to the service blueprint, and the edit pane for that resource set opens. Use the remaining steps to set up the PaaS resource set.
  2. Under Instance Details, provide information about the instance.
    Menus in the Instance Details section are populated according to the PaaS resources you have onboarded. 

    Docker_Instance_Details.gif

    Field

    Instruction

    Provider

    Select the provider. For Docker, select PublicPAAS.

    Proxy Provider

    Select the proxy provider. For Docker, select PublicPaaSDocker.

    Type

    Select the type of resource. For Docker, select Application Container.

    Subtype

    Select the subtype of the PaaS resource. For Docker, select Docker.

    Edition

    Select the edition of the PaaS resource. This field is not applicable to Docker. Leave the default selection as is.

    Version

    Select the version of the PaaS resource. This field is not applicable to Docker. Leave the default selection as is.

    Description

    Enter the purpose of this PaaS resource.

    Memory Size (MB)

    For Docker, this field is not used. The memory size is taken from the parameters.

    IR Type

    Select the installable resource type. For Docker, select None.

  3. Create a PaaS resource set as shown below:

    MultiReosurseSet.GIF
  4. Open the Parameters panel, and add, edit, and delete the necessary parameters.   
    MySqlParameters.GIFDrupalParameters.GIF

    For more information about entering parameters, see Configuring-service-blueprint-parameters.
    The following table lists the parameters that you can specify for a Docker resource:

    Parameter name
    Purpose
    Command to Run
    Specifies the command to run on the specified string or an array of strings
    Note that BMC Cloud Lifecycle Management accepts the syntax that is applicable to the Docker native REST API. However, BMC Cloud Lifecycle Management requires comma as the space delimiter. For example, if you want to run /bin/sh startup.sh at Container startup, specify /bin/sh,startup.sh for this parameter.
    CPU Shares
    Specifies the CPU Shares for the container; specifies the relative weight v/s other containers
    Docker Image Tag
    (Required) Specifies the version tag of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Image Tag as 1.23.2.
    Docker Registry
    Specifies the Docker registryFor example:
    • For private images on Docker hub, specify registry.hub.docker.com. For private registry, specify the fully qualified host name:port.
    • For public Docker images, leave this parameter empty.
    Docker Repository Namespace
    (Required) Specifies the repository namespace of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Repository Namespace as dockeruser1.
    Docker Repository Password
    (Required) Specifies the password to log on to the repository
    Docker Repository User Name
    Specifies the user name to log on to the repository
    Domain Name
    Specifies the string containing the domain name to use for the container
    Environment Variables
    Specifies a list of environment variables
    • For only one environmental variable, use the format VAR=value.
    • For multiple environmental variables, use the format: -e VAR=value -e VAR1=value1.
    Exposed Ports
    Specifies the list of local ports to be exposed outside the container in the format: port1;port2
    Hostname
    Specifies the string containing the host name to use for the container
    Installable Resource
    (Required) Specifies the string containing the Image Repository name For example, for dockeruser1/busybox:1.23.2 specify the Installable Resource as busybox.
    Links
    Specifies the list of links for the container. Each link entry should be in the format: NameOfResourceSet1:alias1;NameOfResourceSet2:alias2
    Memory in MB
    Specifies the memory limit in MB
    Port Bindings
    Specifies the map of exposed container ports and the host port they should map to in the format: port1:hostPort1; port2:hostport2
    Publish All Ports
    Indicates whether to allocate a random host port for all of a container's exposed ports. Valid value: true, false
    Volumes
    Specifies the object mapping mount point paths (strings) inside the container to empty objects in the format: /alias0;/alias1:/value1;/alias2:/value2

    Usage of Installable Resource-related parameters

    Cloud administrators have the flexibility to lock down or open up which part of the image repository they want to expose to end users.The following table is an example scenario that shows how you can expose some of the parameters based on your environment:
    Environment
    Possible actions that end users can perform
    Is "User Entry Enabled" option selected?
    Docker Registry
    Docker
     Repository Namespace
    Docker
     Repository
     User Name
    Docker
     Repository Password
    Installable Resource
    Docker Image
    Tag
    Development
    Select a particular registry or Docker hub account and then select a repository within the Docker hub
    Yes
    Yes
    Yes
    Yes
    Yes
    Yes
    Staging
    Select an image for any repository of a specific account
     only
    No
    No
    No
    No
    Yes
    Yes
    Pre- Production
    Select any version of any image for a particular
    repository or a particular account only
    No
    No
    No
    No
    No
    Yes
    Production
    Cannot select an image because it is burnt
    into the blueprint
    No
    No
    No
    No
    No
    No

  5. Click the Deployment Sequence tab to sequence the resource set as shown below. Ensure that the non-dependent application is deployed first and the dependent application is deployed next.
    Sequencing.jpg
  6. Click the PaaS resource set (the green box) to provide basic details.
    mysqlGreenBox.jpgDrupalGreenBox.jpg

    Field

    Instruction

    Name

    Enter a name for the PaaS resource set.

    Description

    Describe the purpose or nature of the PaaS resource set.

    Number of Instances

    Enter the number of instances to be provisioned. The number you enter appears in the upper-right corner of the box representing a resource instance.

    Tags

    Define any tags you want applied to this PaaS resource set. These tags must match the tags you specify in the logical data center.

    For more information about tags in service blueprints, see Managing-blueprint-tags.

  7. To allow a PaaS resource set to be reused in other service blueprints, save it to the Blueprint Library:
    1. Right-click the PaaS resource set and click Convert to Reference.
    2. Enter a Name for the PaaS resource set. For example, mysql, Drupal. This name will be visible in the Blueprint Library; therefore, provide a name that enables cloud administrators to easily identify the PaaS resource set.
    3. Enter a Description of the PaaS resource set.
    4. Click OK.
      The server is added to the Server/PaaS Blueprints section of the Blueprint Library.
  8. When you have finished defining the PaaS service blueprint, click Save and provide a name for the service blueprint. You can save a version of a blueprint and assign a tag to each version, as described in  Creating-copying-or-editing-a-service-blueprint.

Creating definitions for the service blueprint

You might want to set up one or more definitions for a service blueprint. For each definition, you can associate one or more PaaS resource sets.

When setting up a definition for a service blueprint, you can specify properties, parameters, post deployment actions, and sequencing for all actions. This functionality is standard to BMC Cloud Lifecycle Management and is described in Creating-copying-or-editing-a-service-blueprint. Note that the Operations option currently does not apply to PaaS service blueprints.

When you set up parameters for a definition, those parameters take precedence over any parameters of the same name defined for an instance of a PaaS resource set.

Creating service properties for the service blueprint

You can set up service properties that apply to all the definitions within a service blueprint. For service properties, you can specify parameters and tags. When you set up a parameter, that parameter takes precedence over any parameters of the same name specified for service blueprint definitions.

For a complete description of the capabilities available when creating service properties for a service blueprint, see Creating-copying-or-editing-a-service-blueprint 

Saving and checking in a blueprint definition

When you finish defining the service blueprint, click File > Save and Check In. The service blueprint is now ready to be used in a service offering.

Back to top

Creating a service offering

Many options exist for creating a service offering. The following procedures describe one way to create a typical service offering for a PaaS service. 

For additional information, see Creating-cloud-services.

To create a service

Before you can create a service offering, you must first create a service.

  1. From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window, and click Service Catalog
  2. In the Service Catalog, click Create a New Service AddNewIcon.gif
  3. Enter a service name. 
  4. For Type, select Technical service.
  5. Enter a description of the service. 
  6. Click Apply.

After you have created a service, you can create a service offering, as described in the next procedure.

To create a service offering

  1. Using the service you created in the previous procedure, click Create a New Service Offering AddNewIcon.gif
  2. In the General Information tab, define the options described in the following table.

    Option

    Description

    Default Service Offering

    Enable this option to make the selected service offering the default for the service. Unless users select a different service offering, the default service offering is used.

    Name

    Enter a short, descriptive name for the service offering.

    Description

    Enter a more detailed description of the service offering.

    Service Blueprint

    Specify the software and hardware to associate with the service offering by selecting one of the available blueprints.

    Reference Definition

    Specify how to select a version of a service blueprint. You can select a version by number, the latest version, or a version that is associated with a tag.

    Definition

    Select the definition that provides deployment details. Each service blueprint can include multiple definitions.

  3. Add a Base Customer Price to define the amount charged to the customer for the service offering. You can enter multiple customer prices for each service. 
  4. Add a Base Deployment Cost to define the amount that it costs to provide the service offering. You can enter one deployment cost for each service. 
  5. Click Apply.

After you have created a service offering, you can create a requestable offering, as described in the next procedure.

To create a requestable offering

Use this procedure to create the service offering that an end user can request.

  1. From the service offering, select the drop-down list beside the Create the request definition icon CreateRequestDefinitionIcon.gif and select Create request definition.
    The Request Definition dialog box opens.
  2. Under Request Definition Details, enter the following information:

    Option

    Description

    Title

    Enter a descriptive title for the requestable offering.

    Description

    Enter a detailed description of the requestable offering.

    Note

    Only 255 characters can be shown in the Request Entry console. Any text greater than 255 character is indicated by an ellipsis (...).

    Start Date

    Enter the date when this requestable offering goes online. 

    Type

    Select Compute. (Even when defining a service offering for PaaS provisioning, select Compute.)

  3. Click Next.
  4. Under Select Navigation Category, select Cloud Services.
  5. Under Request Definition Packages, associate one or more entitlement packages with the requestable offering by selecting a package from the Available Packages table and clicking Add.

    RequestDefinition2.gif 
  6. Click Finish.

Provisioning a Docker service

DockerServiceProvision.png

Docker containers are represented as ApplicationContainers with Application Software in the service blueprint.

To request a Docker service

After logging in to the My Cloud Services console, search the Catalog for a service that you want to request, add it to your cart, and then submit your request.

  1. In the Catalog tab of the My Cloud Services console, use any of the following methods to locate a service:
    • Use your browser's scroll bar to browse the tiles for available services.
    • Enter search text in the Search Offerings field, and press Enter. You can add multiple search terms. The Catalog is updated automatically to list all the services that match any of the search terms you entered. Click the X next to a search term to remove it from the Search Offerings field.
      Docker_offering.gif
    • Select one or more categories in the Filter list. Any categories you select are added to the Search Offerings field, and the Catalog is updated automatically to list only the services in the categories you selected.
      Filters.jpg

      For more information about searching, see Searching-in-the-My-Cloud-Services-console.

      Note

      When running the My Cloud Services Console in the Chrome browser, you cannot select filters on the Catalog page when you use the keyboard (for example, pressing the space bar to select a filter) to interact with the UI. Instead, use Shift+space bar to select the filters.

  2. When you have located a service you want to select, click its tile in the Catalog.
    The Catalog details page appears for the catalog item you selected.
    Docker_request.gif

    The estimated cost is calculated in the left column. In the example above, there is no cost for the service.
  3. (Optional) If you are a cloud administrator or a tenant administrator, click Change owner and set the owner for the request. (See To request a service on behalf of another user.)
  4. (Optional) If you want an email to be sent when this service is provisioned, select the Email technical owner when provisioned check box.

    An email will be sent to the user if an email address is assigned to that user in the system. (For information about configuring users, see Adding-people-records-from-a-template.)
  5. Enter the following information about the service:

    Field

    Description

    Service Name

    Name of the service as you would like it to appear in your list of services. This field is required. You can enter a maximum of 80 characters.

    Description

    Description of your service. For example, you might describe the purpose of the service. This field is optional.

  6. (Optional) If you want to set Docker PAAS parameters at runtime, specify the values for the following parameters:
     The following table lists the parameters that you can specify for a Docker resource:
    Parameter name
    Purpose
    Command to Run
    Specifies the command to run on the specified string or an array of strings
    Note that BMC Cloud Lifecycle Management accepts the syntax that is applicable to the Docker native REST API. However, BMC Cloud Lifecycle Management requires comma as the space delimiter. For example, if you want to run /bin/sh startup.sh at Container startup, specify /bin/sh,startup.sh for this parameter.
    CPU Shares
    Specifies the CPU Shares for the container; specifies the relative weight v/s other containers
    Docker Image Tag
    (Required) Specifies the version tag of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Image Tag as 1.23.2.
    Docker Registry
    Specifies the Docker registryFor example:
    • For private images on Docker hub, specify registry.hub.docker.com. For private registry, specify the fully qualified host name:port.
    • For public Docker images, leave this parameter empty.
    Docker Repository Namespace
    (Required) Specifies the repository namespace of the Docker image
    For example, for dockeruser1/busybox:1.23.2 specify the Docker Repository Namespace as dockeruser1.
    Docker Repository Password
    (Required) Specifies the password to log on to the repository
    Docker Repository User Name
    Specifies the user name to log on to the repository
    Domain Name
    Specifies the string containing the domain name to use for the container
    Environment Variables
    Specifies a list of environment variables
    • For only one environmental variable, use the format VAR=value.
    • For multiple environmental variables, use the format: -e VAR=value -e VAR1=value1.
    Exposed Ports
    Specifies the list of local ports to be exposed outside the container in the format: port1;port2
    Hostname
    Specifies the string containing the host name to use for the container
    Installable Resource
    (Required) Specifies the string containing the Image Repository name For example, for dockeruser1/busybox:1.23.2 specify the Installable Resource as busybox.
    Links
    Specifies the list of links for the container. Each link entry should be in the format: NameOfResourceSet1:alias1;NameOfResourceSet2:alias2
    Memory in MB
    Specifies the memory limit in MB
    Port Bindings
    Specifies the map of exposed container ports and the host port they should map to in the format: port1:hostPort1; port2:hostport2
    Publish All Ports
    Indicates whether to allocate a random host port for all of a container's exposed ports. Valid value: true, false
    Volumes
    Specifies the object mapping mount point paths (strings) inside the container to empty objects in the format: /alias0;/alias1:/value1;/alias2:/value2

    Usage of Installable Resource-related parameters

    Cloud administrators have the flexibility to lock down or open up which part of the image repository they want to expose to end users.The following table is an example scenario that shows how you can expose some of the parameters based on your environment:
    Environment
    Possible actions that end users can perform
    Is "User Entry Enabled" option selected?
    Docker Registry
    Docker
     Repository Namespace
    Docker
     Repository
     User Name
    Docker
     Repository Password
    Installable Resource
    Docker Image
    Tag
    Development
    Select a particular registry or Docker hub account and then select a repository within the Docker hub
    Yes
    Yes
    Yes
    Yes
    Yes
    Yes
    Staging
    Select an image for any repository of a specific account
     only
    No
    No
    No
    No
    Yes
    Yes
    Pre- Production
    Select any version of any image for a particular
    repository or a particular account only
    No
    No
    No
    No
    No
    Yes
    Production
    Cannot select an image because it is burnt
    into the blueprint
    No
    No
    No
    No
    No
    No
  7. When you are satisfied with the configuration of this service, click Add to Cart.
  8. The Configuration screen remains open, with your options still selected. If you want to request another instance of this service, enter new details for the instance, change options you want changed, and then click Add another to Cart. When you have added all of the services you want to request, perform one of the following actions:
    • In the My Cart drop-down window, showing a brief summary of the services in your cart, click Proceed to Checkout.
      Checkout_Docker_service.gif
    • From any screen in the My Cloud Services console, click My Cart.
  9. On the My Cart screen, which shows the resources ready to be submitted, click Next.

    DockerRequest1.gif

  10. In the Cart Checkout Information screen > Order Details section, complete all fields present. 
    Your cloud administrator configures which fields appear in the Order Details section. By default, the following fields are available:
    • Charge Code—Select a code to which the cost of your request will be charged.
    • Decommission Date—Select the date at which your services will be decommissioned.

      Cart_checkout_info.gif

      Note

      The cloud administrator may add other fields to the Order Details section. See Customizing-the-Cart-Checkout-page for more information.

  11. Click Submit Request.
    The My Requests section of the My Resources tab appears, showing the provisioning status of your request. You can also see the status in the Resource List or Activity Log section of the My Resources tab. When you click Submit Request, all of the items in the cart are submitted, and the cart is emptied.
    DockerPAASInstance.PNG
  12. If quota details cannot be loaded (a Not Available error message appears in that section), you can still submit the request. Both Day 1 and Day 2 requests will include the change, despite the internal errors.
  13. If the BMC Cloud Lifecycle Management Platform Manager is restarted while a service is being provisioned, the provisioning process fails and remains in the Provisioning state. Additionally, the service instance and any VMs in the process of being provisioned are not decommissioned automatically. To resolve this issue, decommission the service manually. For more information, see Managing-cloud-resources.

Back to top

Managing Docker containers

You can view detailed information about your application containers. To open the application container Configuration page, click a name from the Resource List page under the My Resources tab. You can then complete the following actions for the application container from the Actions links on the left side of the window:

  • Start Application Container
  • Stop Application Container

Alternatively, you can perform actions directly from the Resource List page using the Actions menu.

Back to top

Related topic

 Performance tuning parameters

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*