DB2

Creación de una imagen de IBM Db2 de Docker

Puede crear una imagen de IBM Db2 Docker para simplificar y acelerar la implementación de nuevos entornos de ejecución de HCL Commerce. Se recomienda utilizar únicamente contenedores IBM Db2 en los entornos de prueba y de control de calidad. No utilice un contenedor IBM Db2 creado en este método para el entorno de producción.

El siguiente procedimiento proporciona una guía para crear la imagen.
Nota: La variable Db2_COMPATIBILITY_VECTOR del registro de DB2 no está soportada.

Procedimiento

  1. Inicie la sesión en HCL License and Delivery portal.
  2. Descargue el paquete DB2 para el sistema operativo principal que prevé utilizar en el contenedor Docker.
  3. Cree un archivo de respuestas.
  4. Cree un script de inicio y de detenerse específico de IBM Db2.
    Se le proporciona el siguiente script como referencia. Modifíquelas según sea necesario.
    Nota: Si el enlace no le pide guardar, pulse con el botón derecho del ratón y guarde el archivo.
  5. Cree un Dockerfile con instrucciones para crear la imagen de IBM Db2 Docker.
    Se le proporciona el siguiente Dockerfile template como referencia. Debe modificar el archivo antes de que se pueda utilizar.
    ##################################################################
    # IBM Confidential
    #
    # OCO Source Materials
    #
    # HCL Commerce
    #
    # (C) Copyright IBM Corp. 2016
    #
    # The source code for this program is not published or otherwise
    # divested of its trade secrets, irrespective of what has
    # been deposited with the U.S. Copyright Office.
    ##################################################################
    
    ## Part A: Define the base operating system
    # Dockerfile will create a base DB2 image
    # Using base image of CentOS latest
    FROM /library/centos:latest
    
    
    ## Part B Setup the environment with Libraries and set permissions to directories and 
    ## Adding dbadmin user and wcs user
    RUN yum install -y \
        pam \
        pam.i686 \
        ncurses-libs.i686 \
        file \
        libaio \
        libstdc++-devel.i686 && \
        yum clean all && \
        useradd -ms /bin/bash db2inst1 && \
        groupadd wcs && \
        useradd -g wcs wcs && \
        echo -e "wcs1\nwcs1\n" | passwd wcs
    
    # Part C # Environment variables are needed by the base DB2 image 
    # Specify a password for use db2inst1 
    
    ENV DB2INST1_PASSWORD passw0rd 
    ENV PATH /SETUP/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
    ENV LD_LIBRARY_PATH /home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32 
    
    # Part D 
    COPY SETUP /SETUP/ 
    
    # Part E, Extract, run the setup file, add license and delete the temporary files 
    RUN mkdir /SETUP/tmp/DB2INSTALLER && \
        curl -o /SETUP/tmp/DB2INSTALLER/DB2INSTALLER.tgz http://<library repository>/DB2/db2-wse-11.1.2.2.gz && \
        tar -xzf /SETUP/tmp/DB2INSTALLER/DB2INSTALLER.tgz -C /SETUP/tmp/DB2INSTALLER/ && \
        /SETUP/tmp/DB2INSTALLER/server_r/db2setup -r /SETUP/tmp/db2server.rsp && \
        /bin/su -c "db2licm -a /SETUP/tmp/DB2INSTALLER/server_r/db2/license/db2wse_o.lic" - db2inst1 && \
        /bin/su -c "db2licm -a /SETUP/tmp/DB2INSTALLER/server_r/db2/license/db2ef.lic" - db2inst1 && \
        chmod +x /SETUP/bin/* && \
        rm -r /SETUP/tmp
    
    
    # Part F 
    #Start the DB2 server and print out the diag log 
    ENTRYPOINT ["/bin/bash","/SETUP/bin/entrypoint.sh" ] 
    CMD [ "start" ] 
    
    # Part G # DB2 instance port 
    EXPOSE 50000 50001 
    
    En el Dockerfile, asegúrese de que especifica las siguientes instrucciones:
    1. Defina el sistema operativo base.
    2. Instale las dependencias de biblioteca.
    3. Establezca las variables del entorno relacionadas.
    4. Copie el paquete de instalación y el archivo de respuestas en la imagen de Docker.
    5. Instale el servidor IBM Db2 utilizando un archivo de respuestas y añada los archivos de licencia para aceptar los términos y acuerdos de IBM Db2.
    6. Defina la instrucción ENTRYPOINT para que apunte al archivo entrypoint.sh y CMD con el mandato que se ejecutará.
    7. Muestre el puerto de la instancia de IBM Db2.

Resultados

La imagen de Docker IBM Db2 se crea y está lista para utilizarse en un entorno de desarrollo o prueba de no producción.