Dockerコンテナのホスト名を変更するためのホスト情報変更用シェルスクリプト(chhostname.sh)の記述例を以下に記載します。
#!/bin/sh
DIR=`dirname $0`
HOST=`/usr/bin/hostname`; export HOST
COMMON_PATH=${DIR}/backup ; export COMMON_PATH
if [ -f ${DIR}/hostname ] ; then
PRE_HOSTNAME=`/usr/bin/cat ${DIR}/hostname`
else
PRE_HOSTNAME=""
fi
/usr/bin/date > ${DIR}/chhostname.log 2>&1
while :
do
/opt/FJSVisjmx/bin/isjmxstat >> ${DIR}/chhostname.log 2>&1
if [ $? -eq 1 ] ; then
break
fi
sleep 1
done
if [ "${PRE_HOSTNAME}" != "${HOST}" ] ; then
if [ ! -d ${COMMON_PATH} ] ; then
/bin/csh -f ${DIR}/isbackup >> ${DIR}/chhostname.log 2>&1
fi
if [ $? -eq 0 ] ; then
/bin/csh -f ${DIR}/isimport >> ${DIR}/chhostname.log 2>&1
fi
if [ $? -eq 0 ] ; then
/opt/FJSVod/bin/OD_set_env -n ${HOST} >> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} InterfaceRep \
>> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} InterfaceRep_e \
>> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} InterfaceRepLock \
>> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} InterfaceRepository \
>> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} InterfaceRepository_e \
>> ${DIR}/chhostname.log 2>&1
/opt/FJSVod/bin/odchgservice -h ${HOST} NameService \
>> ${DIR}/chhostname.log 2>&1
echo ${HOST} > ${DIR}/hostname
exit 0
else
/usr/bin/rm -fr ${DIR}/hostname
exit 1
fi
else
echo "hostname is ${HOST}. It is same as the one used at a previous time." >> ${DIR}/chhostname.log
exit 0
fi