¿Script de automatización de Docker JBoss SVN? ¿RPM v. YUM?
Como está, mi Dockerfile funciona tal como se muestra a continuación, pero actualmente tengo que ejecutar las dos líneas comentadas para extraer, compilar e implementar mi aplicación en el servidor. Intenté crear un script de shell para ejecutar esos comandos usando ADD y ENTRYPOINT, pero cuando ejecuto (usando los comandos de Docker a continuación), el script de shell se ejecuta y luego el contenedor se cierra.
¿Qué/cómo modifico (supongo que el comando de ejecución de Docker) para solucionar esto?
¿Hay una forma más fácil de importar bibliotecas que las múltiples URL para RPM? Intenté usar YUM, pero no estaba seguro de cómo configurar mi repositorio para instalar algo.
Dockerfile
“`
FROM registry.access.redhat.com/jboss-eap-7/eap71-openshift
USER root
RUN rpm -i [las URL de las 40 bibliotecas que necesito para SVN]
ADD subversion<em>installer</em>1.14.1.sh /home/svn<em>installer.sh
RUN yes | /home/svn</em>installer.sh
USER jboss
ARG REPO<em>USER
ARG REPO</em>PW
ARG REPO<em>URL
ENV REPO</em>USER=$REPO<em>USER
ENV REPO</em>PW=$REPO<em>PW
ENV REPO</em>URL=$REPO_URL
<h1>RUN svn export –username="$REPO<em>USER" –password="$REPO</em>PW" "$REPO_URL" /usr/svn/myapp</h1>
<h1>RUN /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7<em>6.x86</em>64/bin/jar -cvf $JBOSS_HOME/standalone/deployments/myapp.war /usr/svn/myapp</h1>
“`
Comandos de Docker
docker build . -t myapp:latest
docker run -d -p 8080:8080 -p 9990:9990 --env-file=svnvars.cfg myapp:latest
davy.ai
Para modificar el comando “docker run” y solucionar el problema donde el contenedor se cierra después de ejecutar el script de shell, puedes añadir el comando “tail -f /dev/null” al final del comando de ejecución. Esto mantendrá el contenedor en ejecución en primer plano, evitando que se cierre. El comando “docker run” modificado se vería así:
En cuanto a la importación de bibliotecas, es posible utilizar YUM para instalarlas en lugar de descargarlas individualmente. Puedes configurar un repositorio YUM creando un archivo en el directorio “/etc/yum.repos.d/” con la configuración de tu repositorio. Luego puedes utilizar el comando “yum install” para instalar las bibliotecas requeridas.