‫Muy bien, Nuno me pregunta si necesito mi comando de archivo docker para iniciar el servidor Cassandra y después de eso necesito importar un
‫esquema de base de datos.
‫¿Cuál es la mejor manera de hacer eso?
‫Entonces, si alguien aún no te ha respondido en el chat, porque a
‫veces eso sucede mientras divago sobre el guión del punto de entrada, es una forma universal de hacer las cosas al iniciar el contenedor.
‫Esto significa que tiene dentro de su archivo Docker, tiene el punto de entrada y tiene esta BMD.
‫Ahora, en mi curso de dominio de Docker, me concentro en la CMT porque eso es realmente lo
‫que debes entender para ser al principio, lo que necesito agregar es una sección, al menos, una conferencia sobre el punto de
‫entrada y discutir las diversas formas en que puedes hacer puntos de entrada.
‫Entonces, un punto de entrada cuando lo desglosamos en la CND son realmente dos partes de la misma
‫línea o comando único que Docker ejecuta cuando se inicia el contenedor.
‫Pero el truco es que con la magia de las secuencias de comandos bash puedes tomar el punto de entrada y en lugar de
‫ser solo el comienzo del comando que podría estar en frente de la CMT, puede ejecutar un script y luego
‫al final de ese script puede decirle que pase la ejecución al resto de la línea de comando.
‫Por lo tanto, puede que no tenga mucho sentido, pero vamos a ver si salió un mundo real y ver
‫qué podemos ver, así que voy a sacar mi secuela porque realmente cualquier sistema de almacenamiento de datos persistente va
‫a actuar
‫de la misma manera aquí y si busco en
‫Docker Hub, entonces estoy en Docker Hub, mi secuela imagen oficial.
‫Y si hago clic en cualquiera de estos lanzamientos al principio, obtendré el archivo acoplable que es de código abierto
‫y en este archivo encontrarás muchas cosas.
‫Obviamente, está instalando mi secuela y configurándola correctamente, pero en la parte inferior notarás un par de
‫cosas, una es copiar un script de shell en una determinada ubicación y ejecutar el ensamblaje allí, pero eso es
‫solo por compatibilidad con versiones anteriores.
‫Pero aquí abajo, esta es la parte clave del guión del punto de entrada, que el
‫punto de entrada en sí mismo, el comando en el archivo más oscuro, no tiene que ser un guión.
‫Una vez más, en realidad solo se trata de si existe el punto de entrada y ven OMD y
‫solo se juntan y se ejecutan en una sola línea.
‫Entonces, vería esto de dos maneras comunes, ya que el punto de entrada se usa para el comienzo de un comando que tal vez
‫si está usando Docker para ejecutar una utilidad de línea de comando lo hago en 82 ping
‫para ver si puedo uh, así que tener un github
‫Tengo una imagen de Docker y obtengo un repositorio de concentrador detrás y lo que está haciendo es ejecutar una única utilidad de línea
‫de comandos en un contenedor.
‫Y la forma en que funciona aquí es que tengo el punto de entrada como el comando en sí.
‫Y luego, ya que el CMB persigue eso cuando los tengo a ambos en mi archivo Docker, simplemente
‫los cambia juntos.
‫Lo tengo ejecutando el CRM D predeterminado, así que si lo piensas cuando ejecuto este
‫comando desde el comando puedo ejecutar Docker.
‫Brett Fisher recorta HP pagando.
‫Y luego solo presiono enter y luego ejecutará automáticamente el comando de versión.
‫Pero si sigo escribiendo esa línea de comando correctamente.
‫Tucker corre.
‫Brett Fisher, si solo hago eso, sacará la imagen.
‫Vaya, perdón, déjame cambiarte las pantallas,
‫así que si ejecuto esta imagen, la ejecutará de forma predeterminada y básicamente descarta la ayuda porque eso es lo que
‫el archivo acoplable le dijo que hiciera en la línea CRM D.
‫Pero si solo cambio algo al final porque recuerde que el formato de un comando de ejecución de
‫Docker es que ejecutará Docker y luego hará sus opciones y luego hará la imagen que va a configurar que va a
‫ejecutar y luego cualquier cosa después eso reemplaza a la CND en línea.
‫Entonces es como un reemplazo dinámico de la CMT.
‫Entonces, si solo ejecuto aquí Google dot com, reemplazará la versión del tablero de instrumentos que se ejecutará de forma predeterminada.
‫Entonces, esta es una forma realmente genial de usar Docker run como una utilidad de línea de comandos y eso es bueno.
‫Ese es mi ejemplo esencialmente de cómo hacer eso.
‫Ahora, la otra forma de
‫hacerlo es no es esa, esa es la única forma de hacerlo, la otra forma es un script de
‫shell, así que veremos aquí que el punto de entrada aquí está definiendo el archivo que debe ejecutarse.
‫Y luego, si simplemente me desplazo hasta la parte superior aquí y hago este directorio de ocho puntos sin ningún tipo, voy a
‫subir un directorio y realmente encontraré que hay otro archivo allí.
‫Ese es el script de punto de entrada de Docker que está copiando en la compilación.
‫Ahora en este script lo que está pasando.
‫Hay toneladas de cosas aquí.
‫Probablemente al menos cien líneas.
‫Sí.
‫De hecho, son cientos de líneas.
‫Pero la parte mágica aquí es esta.
‫Disminuir el zoom.
‫Bueno.
‫Vete barra de desplazamiento.
‫No te quiero ver.
‫Vayamos a Ras
‫esa línea de fondo que allí.
‫Exactamente.
‫Y luego, el signo de dólar que le dice al shell hey, estoy terminando este script, por favor pase la ejecución al resto de mi
‫línea de comando, que sería lo que sea que esté en el CMT y en este caso fue
‫mi demonio secuela.
‫Entonces, esencialmente, lo que sucederá cuando se inicie un contenedor en este caso es que ejecutará el script.
‫Llega al final del guión que dice exactamente Por favor, haz lo que te dije al final de
‫este comando y eso ejecuta a tu demonio.
‫Eres mi demonio secuela en primer plano para que siga funcionando.
‫Ahora, lo que hace el script es todas las cosas que probablemente no sabías que estaban sucediendo en segundo plano
‫cuando comenzaste un contenedor de base de datos.
‫Crea el usuario predeterminado que desea establecer.
‫Cambia la contraseña de root a lo que quieras que establezca.
‫Crea la base de datos en función de lo que le dijo y está haciendo todo eso y las variables de entorno
‫correctamente.
‫Porque si hicimos una copia de seguridad para duplicar esto y si hicimos una copia de seguridad en la biblioteca que
‫conoces en la mayoría de estas imágenes oficiales, tendrás un montón de variables de entorno
‫y las especifica aquí.
‫Y todas esas variables de entorno se usan en ese script para preconfigurar mi secuela.
‫Ahora, en el archivo en sí, si realmente fuera a sumergirse en él, está configurando algunas variables de entorno y encontrando archivos en
‫caso de que esté usando cosas cálidas y secretas de Drucker como esa, y luego básicamente
‫obtiene todos los datos que necesita para configurarlo.
‫Luego se inicia mi secuela configurada, incluido el cambio de la contraseña de root en todas las demás cosas.
‫Luego apaga mi secuela y luego finaliza el guión y luego pasa esa ejecución a mi secuela para comenzar de
‫nuevo, pero esta vez para siempre.
‫Esencialmente, se trata de comenzar la continuación haciendo algunas cosas para detener las secuelas que comienzan una copia de seguridad.
‫Y así funcionan todos estos sistemas de almacenamiento persistente dentro de los contenedores oficiales.
‫Entonces, para usted La respuesta larga a esta pregunta es que va a querer usarlo en su propio script
‫de captura personalizado, tal vez copie el predeterminado si hay uno o tal vez haga
‫el suyo y luego haga su propia imagen eso crearía ese esquema inicialmente en el primer inicio.
‫Ahora, una vez que tenga miedo de un esquema dentro de la base de datos, sabe que realmente no va a
‫querer actualizar los esquemas de esa manera, sino que desea hacer más esquemas.
‫A través de alguna otra utilidad fuera de ese contenedor, ejecutaría sus comandos my cycle
‫desde otro contenedor y luego ejecutarían en la red algo así.
‫Ahora no tiene que cambiar esto en absoluto, simplemente puede hacer que inicie su Cassandra y luego
‫agregue el esquema desde un control remoto desde un contenedor diferente, pero tendría que controlar ese orden correctamente.
‫Tendrías que esperar a que Cassandra se ponga en marcha.
‫Tendría que tener otro contenedor que tal vez tenga su propio script y luego ese script tal vez sea
‫lo suficientemente inteligente como para seguir buscando Cassandra para ver si está listo.
‫Y luego, cuando esté listo, ejecute el esquema, ya sea la actualización del esquema o la instalación del esquema original.
‫Esencialmente, podría hacerlo de esa manera y eso, y muchos casos es probablemente la forma correcta de hacerlo,
‫pero especialmente cuando está haciendo un desarrollo local o simplemente quiere acelerar algo pequeño y
‫fácil y solo quiere construir un esquema la primera vez y quería hacerlo automáticamente, entonces lo
‫que haría aquí sería usar la imagen oficial predeterminada y agregaría su propio esquema y archivo en
‫su propia imagen personalizada y esencialmente lo haría cuando se iniciara primera vez
‫haría eso ahora.
‫Aquí está el problema y debe tener cuidado con esto. Este script de punto de entrada se ejecuta cada vez que el contenedor se
‫inicia al menos desde esa imagen desde la imagen en la que creó el personalizado.
‫Por lo tanto, debe asegurarse de que su secuencia de comandos sea lo suficientemente inteligente como para que no vuelva a ejecutar el esquema
‫una y otra vez en una base de datos de anuncios que ya tiene el esquema.
‫Por lo tanto, debe basarse en esa inteligencia y es por eso que a veces depende de su modelo si está pensando en
‫actualizar las cosas regularmente o si está moviendo constantemente las bases de datos en un grupo de enjambre o grupo
‫de ideas cubanas y luego lo hace dentro del contenedor de la base de datos. Puede que no sea la estrategia adecuada
‫para usted, pero esta opción existe.
‫Así que échale un vistazo.
‫Y eso es como las Notas del acantilado sobre qué hacer con los puntos de entrada que no estaban en mi curso
‫original, por lo que probablemente podría decir que este video allí y al menos tiene material complementario por ahora,
‫es mejor que no tener nada.