Creating the Db2 tutorial workspace in Docker Desktop

Learn how to create the workspace for the z/OS® Connect Designer Db2® API project in Docker Desktop.

Before you begin

Make sure that the following prerequisite tasks are complete:
  1. Downloading the z/OS Connect Designer image.
  2. Downloading the z/OS Connect Designer Db2 sample
  3. Setting up Db2 native REST services
Note: You need a Docker runtime version 19.0.3 or later running on your workstation to run the z/OS Connect Designer tool.

About this task

This topic is applicable to: Content applicable to
application developers

Create the directories and files on your workstation that you need to create a z/OS Connect API project in z/OS Connect Designer.

Procedure

  1. Create a project workspace directory.
    At the command prompt on your workstation, change to the directory where you want to create your z/OS Connect API project.
    Note: You can create the project workspace in any directory. For this tutorial, create the project workspace in the Desktop directory if you are using a Mac or the root directory if you are using Windows.
    1. Enter the following command.
      For Windows, enter cd /.
      For MacOS, enter cd ~/Desktop.
    2. Enter the following command to create a project workspace directory called ZCWorkspace.
      mkdir ZCWorkspace
    3. Enter the following command to change to that directory:
      cd ZCWorkspace
    4. In the ZCWorkspace directory, create the subdirectories for the API project. These subdirectories are used for Liberty server configuration files.
      For Windows, enter the following command:
      mkdir EmployeesApi\src\main\liberty\config

      For MacOS, enter the following command:
      mkdir -p EmployeesApi/src/main/liberty/config
    5. In the ZCWorkspace directory, create the logs and certs subdirectories.
      Enter the following commands:
      mkdir logs
      mkdir certs
  2. Verify that the z/OS Connect Designer image is loaded.
    Run the following command to list the available docker images on your workstation.
    docker image ls
    The following output shows that the z/OS Connect Designer image is now available.
    
    REPOSITORY                                  TAG                             IMAGE ID        CREATED        SIZE
    icr.io/zosconnect/ibm-zcon-designer         3.0.75                            ffba75f49b73    7 hours ago    1.52GB
    Note: The creation timestamp shows when the image itself was first created, not when it was loaded onto your workstation.

  3. Create the docker-compose.yaml file.
    Open a new file in your text editor. Copy the contents in Figure 1 and save the file as docker-compose.yaml in the ZCWorkspace directory. Keep the file in the editor for the next step.
    Figure 1. Contents of docker-compose.yaml file
    version: "3.2"
    services:
        zosConnect:
            image: icr.io/zosconnect/ibm-zcon-designer:3.0.75
            environment:
                - DB2_USERNAME=<db2username>
                - DB2_PASSWORD=<db2password>
                - DB2_HOST=<db2host>
                - DB2_PORT=<db2port>
                - HTTP_PORT=9080
            ports:
                - "9443:9443"
                - "9080:9080"
            volumes:
                - ./EmployeesApi:/workspace/project
                - ./logs/:/logs/
                - ./certs:/config/resources/security/:ro
    

  4. Add your Db2 credentials to the docker-compose.yaml file.
    The file contains the environment array. This array contains environment variables that can be passed into the container at run time.

    Edit the docker-compose.yaml file as follows:

    1. Replace <db2username> with your username for connecting to Db2.
    2. Encrypt your password for connecting to Db2.
      Enter the following command, replacing <myPassword > with your own password:
      docker run --rm icr.io/zosconnect/ibm-zcon-designer:3.0.75 securityUtility encode <myPassword> --encoding=aes

      The output looks something like this:

      {aes}APu1HaGpBzYbH+g8xVbuqUgJPz1ydNS9VbpAq1hstGdF

      Replace <db2password> with in the docker-compose.yaml file with the encrypted password.

    3. Replace <db2host> with your hostname for the Db2 instance that you are connecting to.
    4. Replace <db2port> with the port number for the Db2 instance that you are connecting to.
    Figure 2 shows the updated docker-compose.yaml file.
    Figure 2. A completed docker-compose.yaml file
    version: "3.2"
    services:
        zosConnect:
            image: icr.io/zosconnect/ibm-zcon-designer:3.0.75
            environment:
                - DB2_USERNAME=userName
                - DB2_PASSWORD={aes}APu1HaGpBzYbH+g8xVbuqUgJPz1ydNS9VbpAq1hstGdF
                - DB2_HOST=myhost
                - DB2_PORT=myport
                - HTTP_PORT=9080
            ports:
                - "9443:9443"
                - "9080:9080"
            volumes:
                - ./EmployeesApi:/workspace/project
                - ./logs/:/logs/
                - ./certs:/config/resources/security/:ro

    At run time, these environment variables are used to create a Db2 Connection.

  5. Save and close the docker-compose.yaml file.
  6. Verify the structure of the files on your workstation in your project workspace directory.
    On the command line, enter dir for Windows or ls for Mac. Verify that the new files and directories are listed correctly. The following screen image shows the expected project structure.
    /ZCWorkspace
    |-- /certs
    |-- /logs
    |-- /EmployeesApi/src/main/liberty/config
    |-- docker-compose.yaml
    

Results

You successfully created the project workspace for a z/OS Connect API project.

What to do next

In the next task, you configure a connection to the Db2 instance where your Db2 native REST services are hosted. Configuring your connections to Db2