Cómo ejecutar Tomcat automáticamente en un contenedor acoplable
Antes de usar weave, debe instalar el entorno Docker en todos los hosts. Siga estos tutoriales para instalar Docker en distribuciones Ubuntu o CentOS/Fedora. Después de implementar el entorno Docker, use el siguiente comando para instalar weave: $wget/zettio/weave/releases/download/latest_release/weave$chmoda+xweave$sudocpweave/usr/local/bin. /usr/ Para la ruta local/bin, agregue una línea al archivo /etc/profile (anotación de traducción LCTT: para que la variable de entorno surta efecto, debe ejecutar este comando: source/etc/profile): exportPATH= "$PATH:/usr/local/ bin" y repita las operaciones anteriores en cada host. Weave utiliza el puerto 6783 tanto en TCP como en UDP. Si su sistema tiene un firewall habilitado, asegúrese de que estos dos puertos no estén bloqueados por el firewall. Inicie el enrutador Weave en cada host. Cuando desee permitir que los contenedores en diferentes hosts se comuniquen entre sí, el primer paso es iniciar el enrutador Weave en cada host. En el primer host, ejecute el siguiente comando para crear y abrir un contenedor de enrutador de tejido (traducción LCTT: como se mencionó anteriormente, el enrutador de tejido también es un contenedor): $sudoweavelaunch La primera vez que ejecute este comando, descargará una imagen de tejido , esto llevará algún tiempo. La imagen se ejecutará automáticamente una vez completada la descarga. Después de un inicio exitoso, el terminal generará el número de identificación del enrutador de tejido. El siguiente comando se utiliza para ver el estado del enrutador: $sudoweavestatus El primer enrutador tejido está listo y hasta ahora solo hay un miembro par en toda la red de igual a igual. También puede usar el comando docker para verificar el estado del enrutador weave: $dockerps Los pasos para implementar el segundo host son ligeramente diferentes. Necesitamos especificar la dirección IP del primer host para el enrutador weave de este host. es el siguiente: $sudoweavelaunch Cuando vea el estado del enrutador, verá dos miembros pares: el host actual y el primer host. Cuando enciende el enrutador, la lista de miembros pares será más larga. Cuando abre un nuevo enrutador, debe especificar la dirección IP del host anterior. Tenga en cuenta que no es la dirección IP del primer host (traducción LCTT: estructura de cadena). Ahora tiene una red tejida que consta de enrutadores tejidos ubicados en diferentes hosts. Para interconectar contenedores en diferentes hosts, lo siguiente que debe hacer es abrir contenedores Docker en diferentes hosts y usar redes virtuales para interconectarlos. Supongamos que creamos una red privada 10.0.0.0/24 para interconectar contenedores Docker y asignar direcciones IP aleatoriamente a estos contenedores. Si desea crear un nuevo contenedor que pueda unirse a la red weave, debe usar el comando weave para crearlo, no el comando docker. La razón es que el comando weave llama internamente al comando docker para crear un nuevo contenedor y luego configurar una red para él. El siguiente comando es crear un contenedor de Ubuntu en el host hostA y luego colocarlo en la red 10.0.0.0/24. La dirección IP asignada es 10.0.0.1: hostA:~$sudoweaverun10.0.0.1/24-t-. Después de que iubuntu se ejecute correctamente, la terminal mostrará el número de identificación del contenedor. Puede usar esta ID para acceder a este contenedor: hostA:~$dockerattach En el host hostB, cree también un contenedor de Ubuntu con la dirección IP 10.0.0.2: hostB:~$sudoweaverun10.0.0.2/24-t-iubuntu acceso Descargar la consola de este contenedor: hostB:~$dockerattach. Los dos contenedores pueden hacer ping entre sí. Puede comprobarlo a través de la consola del contenedor.
Si revisas la configuración de red de cada contenedor, encontrarás que hay una tarjeta de red llamada "ethwe", y allí aparecen las direcciones IP que asignaste a los contenedores (por ejemplo, aquí son 10.0.0.1 y 10.0.0.2 respectivamente). ). Otros usos avanzados de WeaveWeave proporcionan algunas funciones muy inteligentes, que presentaré brevemente aquí. Separación de aplicaciones Con weave, puede crear múltiples redes virtuales y configurar diferentes aplicaciones para cada red. Por ejemplo, puede crear una red 10.0.0.0/24 para un grupo de contenedores y una red 10.10.0.0/24 para otro grupo de contenedores Weave mantendrá automáticamente estas redes y aislará las dos redes entre sí. Además, tiene la flexibilidad de mover un contenedor de una red a otra sin reiniciarlo. Por ejemplo: Primero inicie un contenedor ejecutándose en la red 10.0.0.0/24: $sudoweaverun10.0.0.2/24-t-iubuntu Luego déjelo salir de la red: $sudoweavedetach10.0.0.2/24 Finalmente agréguelo a la red 10.10 Red .0.0/24: $sudoweaveattach10.10.0.2/24 Ahora este contenedor puede comunicarse con otros contenedores en la red 10.10.0.0/24. Esto es útil cuando crea un contenedor y aún no se conoce la información de la red. Integración de la red weave con la red host A veces desea que los contenedores de la red virtual tengan acceso a la red host física. O por el contrario, el anfitrión necesita acceder al contenedor. Para cumplir esta función, weave permite que la red virtual se integre con la red host. Por ejemplo, en el host A, se ejecuta un contenedor en 10.0.0.0/24. Ejecute el siguiente comando: hostA:~$sudoweaveexpose10.0.0.100/24. Este comando asigna la dirección IP 10.0.0.100 al host A. , de modo que el host hostA también esté conectado a la red 10.0.0.0/24. Obviamente, cuando elige una dirección IP para el host, debe elegir una dirección que no utilicen otros contenedores. Ahora hostA puede acceder a todos los contenedores en 10.0.0.0/24, independientemente de si estos contenedores están ubicados en hostA. ¡Qué escenario tan inteligente, 32 me gusta!