Création d'une image Docker IBM Db2
Vous pouvez créer une image Docker IBM Db2 pour simplifier et accélérer le déploiement de nouveaux environnements d'exécution HCL Commerce. Il est recommandé d'utiliser uniquement un conteneur IBM Db2 dans vos environnements de test et d'assurance qualité. N'utilisez pas de conteneur IBM Db2 créé dans cette méthode pour votre environnement de production.
La procédure suivante vous guide dans la création d'une image.Remarque : La variable de registre Db2 Db2_COMPATIBILITY_VECTOR n'est pas prise en charge.
Procédure
- Connectez-vous à HCL License and Delivery portal.
- Téléchargez le package Db2 pour le système d'exploitation de base que vous prévoyez d'utiliser dans votre conteneur Docker.
- Créez un fichier de réponses.
-
Créez un script de démarrage et d'arrêt IBM Db2 spécifique.
Le script suivant vous est fourni en tant que référence. Modifiez-le si nécessaire.Remarque : Si le lien ne vous invite pas à enregistrer, cliquez avec le bouton droit et enregistrez le fichier.
-
Créez un fichier Docker avec les instructions de création d'image Docker IBM Db2.
Le fichier Docker template suivant vous est fourni en tant que référence. Vous devez modifier le fichier avant qu'il ne soit utilisable.Dans le fichier Docker, assurez-vous de spécifier les instructions suivantes :
################################################################## # 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- Définissez le système d'exploitation de base.
- Installez les dépendances de la bibliothèque.
- Définissez les variables d'environnement associées.
- Copiez le package d'installation et le fichier de réponse sur l'image docker.
- Installez le serveur IBM Db2 à l'aide d'un fichier de réponse et ajoutez les fichiers de licence pour accepter les termes de IBM Db2.
-
Définissez l'instruction
ENTRYPOINTdevant pointer vers le fichier entrypoint.sh etCMDavec la commande à exécuter. - Exposez le port d'instance IBM Db2.