Redis se inicia en el contenedor con el contenedor
Inicio automático de servicios de aplicaciones en contenedores Docker
Si desea que los servicios de aplicaciones en contenedores Docker se inicien automáticamente cuando se abre el contenedor.
Solo necesita escribir el script de inicio del servicio en el Dockerfile y luego usar el Dockerfile para reconstruir la imagen:
Escribir el script de inicio automático del servicio de la aplicación
Escribir el Dockerfile p>
Reconstruir la imagen
Abrir el contenedor
Escribir un script de inicio automático del servicio (dockerd)
(tomcat como ejemplo) #! /bin/bash## ## chkconfig: 345 98 30# descripción: ?programa tomcat.# nombre del proceso: tomcat# Biblioteca de funciones de origen.. /etc/rc.d/init.d/functions# Configuración de red de origen.# /. etc/sysconfig/networkprog="tomcat "checkprocess()
{
chkret=`ps -ef |grep $prog |grep -v "grep" |wc -l` return $chkret}start() p>
{ cd /usr/local/tomcat/bin/
./startup.sh echo "Servicio $prog iniciado!"}#/usr/sbin /nscd ?&/usr/sbin /sshd -D & while [ true ]do
DNSIP=172.18.3.179
ping=`ping -c 3 $DNSIP|awk 'NR= =7 {print $4}'` if [[ $ping -eq "3" ]] entonces
descanso
fi
dormir 3done while [ true ]do
checkprocess ?if [[ $chkret -eq "0" ]] entonces
?#nscd -i hosts
else
echo "El servicio $prog se está ejecutando."
fi
sleep 60doneexit 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505 15253 5455565758
Escribir Dockerfile DESDE ?tomcat
MANTENEDOR liu "350142639@qq.com"AGREGAR dockerd ?/etc/rc.d/init.d/
EJECUTAR chmod 777 ?/etc/rc.d/init.d/dockerd
ENV JAVA_HOME ?/usr/local/ jdk1.6.0_30
RUTA ENV ?$JAVA_HOME/bin:$PATH
RUTA DE CLASES ENV .:$JAVA_HOME/lib/dt.
jar:$JAVA_HOME/lib/tools.jarCMD /etc/rc.d/init.d/dockerd123456789101112131415161718
Entre ellos, ADD agrega el script en el mismo directorio a la ubicación especificada de la imagen y ENV establece las variables de entorno de Java (muy importante, el script de inicio automático no se puede ejecutar con éxito sin escribir esta oración. Solo puede haber un comando CMD, que se usa para ejecutar el comando cuando se inicia el contenedor). También puede ser un guión.
Reconstruir la imagen
** ¿Pasó?
docker build -t nuevo nombre de imagen.?
Crear con éxito una nueva imagen
Abra el contenedor
docker run -d -h=”s” –name=”s” new image name
Luego, se encuentra que Tomcat tiene
Leer el texto completo