Dockerizar Tomcat Mysql

 


Un nuevo proyecto me supuso montar dos servidores, no quería ponerme en esa tarea solo por dos servicios, me dio pereza, por eso decidí montarla en Docker, en este punto no conozco mucho de Tomcat, se que necesito tener subdominios del sitio, entonces procedí a crear la siguiente estructura

Ya con esta estructura pruedo crear mi docker-compose.yaml

version'3.3'
services:
   db:
     imagemysql:5.5
      #tmpfs:
      #- /var/lib/mysql
     volumes:
       - ./MySql/data:/var/lib/mysql
       - ./MySql/backups:/var/backups
       - ./MySql/logs:/var/log/mysql/
       #- ./mysql-dump:/docker-entrypoint-initdb.d
     environment:
       MYSQL_ROOT_PASSWORDrootpassword
       MYSQL_DATABASEdatabase
       MYSQL_USERuserdb
       MYSQL_PASSWORDuserpassword
     ports:
       - 3306:3306
     container_namemysql
   phpmyadmin:
      depends_on:
      - db
      imagephpmyadmin/phpmyadmin
      ports:
      - '8081:80'
      environment:
        PMA_HOSTdb
        MYSQL_ROOT_PASSWORDrootpassword
      container_namephpmyadmin
   web:
     depends_on:
      - db
     imagetomcat:8-jdk8
     volumes:
       - ./Tomcat/webapps/:/usr/local/tomcat/webapps/
       - ./Tomcat/conf/:/usr/local/tomcat/conf/
     ports:
      - '80:8080'
     environment:
       MYSQL_ROOT_PASSWORDrootpassword
       MYSQL_DATABASEdatabase
       MYSQL_USERuserdb
       MYSQL_PASSWORDuserpassword
     container_nameapacheTomcat



Ya luego solo ejecuto el comando sudo docker-compose up y tengo los dos servidores corriendo, con esta estructura, ya lo que ponga en mi carpeta local se desplegara en tomcat

Ahora solo tengo que editar el archivo server.xml, y con esto tengo subdominios.

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html -->
        <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
        <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

      <Host name="carlosamartinez.xyz"  appBase="/usr/local/tomcat/webapps/paginaprincipal" unpackWARs="true" autoDeploy="true">
          <Alias>www.carlosamartinez.xyz</Alias>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="tarjetajoven_access_log" suffix=".txt"
          pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        <Context path="" docBase="/usr/local/tomcat/webapps/paginaprincipal"
          debug="0" reloadable="true"/>
      </Host>

     <Host name="aliado.carlosamartinez.xyz"  appBase="/usr/local/tomcat/webapps/paginaaliado" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="aliado_access_log" suffix=".txt"
          pattern="%h %l %u %t %r %s %b" />
      <Context path="" docBase="/usr/local/tomcat/webapps/paginaaliado"
          debug="0" reloadable="true"/>
     </Host>

     <Host name="admin.carlosamartinez.xyz"  appBase="/usr/local/tomcat/webapps/paginaadmin" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="admin_access_log" suffix=".txt"
          pattern="%h %l %u %t %r %s %b" />
      <Context path="" docBase="/usr/local/tomcat/webapps/paginaadmin"
          debug="0" reloadable="true"/>
     </Host>

     <Host name="punto.carlosamartinez.xyz"  appBase="/usr/local/tomcat/webapps/paginapunto" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="punto_access_log" suffix=".txt"
          pattern="%h %l %u %t %r %s %b" />
      <Context path="" docBase="/usr/local/tomcat/webapps/paginapunto"
          debug="0" reloadable="true"/>
     </Host>

     <Host name="carlosamartinez.xyz/api"  appBase="/usr/local/tomcat/webapps/paginaapi" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
          prefix="api_access_log" suffix=".txt"
          pattern="%h %l %u %t %r %s %b" />
      <Context path="" docBase="/usr/local/tomcat/webapps/paginaapi"
          debug="0" reloadable="true"/>
     </Host>



Ya solo detengo y arranco por precaución, y todo corriendo otra vez con subdominos.

Publicar un comentario

0 Comentarios