docker打包informix镜像

来源:互联网 发布:input onchange php 编辑:程序博客网 时间:2024/06/06 08:57

informix 11.5的安装脚本有点问题,有时能装,有时不能。反而11.7装的非常顺利。

目录如下:


下载个informix 11.7的安装包

dockerfile

# HOW TO BUILD THIS IMAGE# -----------------------# download :iif.11.70.FC8DE.linux-x86_64.tar# Run:#      $ docker build -t informix/database:11.7 .# Pull base imageFROM centos:7# Environment variablesENV INSTALL_FILE=iif.11.70.FC8DE.linux-x86_64.tar\    INSTALL_SCRIPT=install.sh\    LD_LIBRARY_PATH=/lib64\    INFORMIXSERVER=IFM\    INFORMIXDIR=/informix\    INFORMIXCHK=/informix/chk\    INFORMIXSQLHOSTS=/informix/etc/sqlhosts\    ONCONFIG=onconfig\    ONSOCPORT=9998\    DRSOCPORT=9999\    RUN_FILE=run.shENV PATH=$INFORMIXDIR/bin:$PATH# Copy fileCOPY $INSTALL_FILE $INSTALL_SCRIPT $RUN_FILE $INFORMIXDIR/# Install informixRUN chmod u+x $INFORMIXDIR/$INSTALL_SCRIPT && \    . $INFORMIXDIR/$INSTALL_SCRIPT# volumeVOLUME [$INFORMIXCHK]# expose portEXPOSE $ONSOCPORT $DRSOCPORT# start databaseCMD sh $INFORMIXDIR/$RUN_FILE

安装脚本install.sh

#!/bin/bash# add user and groupgroupadd informixuseradd informix -g informixecho 'informix' | passwd informix  --stdin# yum install require packageyum install -y bc# tar packages and installDISK=diskmkdir $INFORMIXDIR/$DISK $INFORMIXCHKtar -xvf $INFORMIXDIR/$INSTALL_FILE -C $INFORMIXDIR/$DISKrm -f $INSTALL_FILEsh $INFORMIXDIR/$DISK/ids_install -i silent -DLICENSE_ACCEPTED=TRUErm -rf $INFORMIXDIR/$DISK# set envcat >/home/informix/setenv <<EOFexport INFORMIXSERVER=$INFORMIXSERVERexport INFORMIXDIR=$INFORMIXDIRexport INFORMIXSQLHOSTS=$INFORMIXSQLHOSTSexport ONCONFIG=$ONCONFIGexport RUN_FILE=$RUN_FILEexport PATH=$PATHEOFecho '. ~/setenv' >> /home/informix/.bash_profile# create chktouch $INFORMIXCHK/rootchkchmod 660 $INFORMIXCHK/*chown -R informix:informix $INFORMIXCHK# create configcp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfigsed -i 's?ROOTPATH $INFORMIXDIR\/tmp\/demo_on.rootdbs?ROOTPATH '$INFORMIXCHK'\/rootchk?g' $INFORMIXDIR/etc/onconfigsed -i 's?DBSERVERNAME?DBSERVERNAME '$INFORMIXSERVER'?g' $INFORMIXDIR/etc/onconfigsed -i 's?DBSERVERALIASES?DBSERVERALIASES '$INFORMIXSERVER'_DR?g' $INFORMIXDIR/etc/onconfigchown -R informix:informix $INFORMIXDIR/etc/onconfig# create sqlhostINFORMIXSERVER_DR=$INFORMIXSERVER'_DR'cat >$INFORMIXSQLHOSTS <<EOF$INFORMIXSERVER onsoctcp localhost $ONSOCPORT$INFORMIXSERVER_DR drsoctcp localhost $DRSOCPORTEOFchmod 660 $INFORMIXSQLHOSTSchown -R informix:informix $INFORMIXSQLHOSTS

启动脚本run.sh

#!/bin/bash########### SIGTERM handler ############function _term() {   echo "Stopping container."   echo "SIGTERM received, shutting down database!"   onmode -sy   onmode -ky}########### SIGKILL handler ############function _kill() {   echo "SIGKILL received, shutting down database!"   onmode -ky}# Set SIGTERM handlertrap _term SIGTERM# Set SIGKILL handlertrap _kill SIGKILL# config pathCONFIG_PATH=$INFORMIXDIR/etc/oncfg_$INFORMIXSERVER.0# start databaseif [ ! -f $CONFIG_PATH ]; then    echo "initial informix!"    oninit -ivyelse    echo "open informix!"    oninit -vyfitail -f $INFORMIXDIR/tmp/online.log &childPID=$!wait $childPID
build 以下镜像

启动镜像



0 0
原创粉丝点击