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