Herramientas de usuario

Herramientas del sitio


clase:daw:daw:2eval:tema07

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:daw:2eval:tema07 [2022/01/27 16:16]
admin
clase:daw:daw:2eval:tema07 [2024/02/05 07:47] (actual)
admin [Gestión de Contenedores]
Línea 113: Línea 113:
 Pone en marcha la imagen creando un contenedor.Su forma mas sencilla de usar es ''docker run container nombre_imagen''. Aunque prácticamente siempre se usan la mayoría de los siguientes parámetros: Pone en marcha la imagen creando un contenedor.Su forma mas sencilla de usar es ''docker run container nombre_imagen''. Aunque prácticamente siempre se usan la mayoría de los siguientes parámetros:
   * ''-d'': Indicar que es un servidor (demonio)   * ''-d'': Indicar que es un servidor (demonio)
-  * ''-it'': Si queremos intereactuar en la consola con la aplicación (NO es un demonio). Las opciones **-d** y **-it** son excluyentes.+  * ''-it'': Si queremos interactuar en la consola con la aplicación (NO es un demonio). [[https://stackoverflow.com/questions/41916435/practically-what-is-the-difference-between-docker-run-dit-itd-vs-docker-run|Practically, what is the difference between docker run -dit(-itd) vs docker run -d?]]
   * ''--restart always'' : Añadiremos este flag si queremos que se vuelva a iniciar el contenedor si acaba dicho contenedor. Es útil ya que se iniciará el contenedor si se reinicia la máquina real.   * ''--restart always'' : Añadiremos este flag si queremos que se vuelva a iniciar el contenedor si acaba dicho contenedor. Es útil ya que se iniciará el contenedor si se reinicia la máquina real.
   * ''--name nombreContanedor'': Indica el nombre que va a tener el contenedor. Es muy útil ya que así sabemos cual es cada una de las imágenes.   * ''--name nombreContanedor'': Indica el nombre que va a tener el contenedor. Es muy útil ya que así sabemos cual es cada una de las imágenes.
Línea 120: Línea 120:
   * ''-e nombreVariableDeEntorno:valorVariableDeEntorno'': Permite indicar el valor de una variable de entorno. Es la forma mas común de configurar un contenedor. Se debe mirar la configuración de la imagen para saber las variables a usar ya que es específico de cada imagen.   * ''-e nombreVariableDeEntorno:valorVariableDeEntorno'': Permite indicar el valor de una variable de entorno. Es la forma mas común de configurar un contenedor. Se debe mirar la configuración de la imagen para saber las variables a usar ya que es específico de cada imagen.
   * ''-v carpetaMaquinaReal:carpetaInternaContenedor'': Indica que una carpeta de dentro del contenedor será realmente una carpeta real de nuestra máquina. Se usa para que no se pierdan los datos si borramos la máquina y la volvemos a crear.    * ''-v carpetaMaquinaReal:carpetaInternaContenedor'': Indica que una carpeta de dentro del contenedor será realmente una carpeta real de nuestra máquina. Se usa para que no se pierdan los datos si borramos la máquina y la volvemos a crear. 
 +
  
  
Línea 137: Línea 138:
  
   docker container run \   docker container run \
-     -\+     -dit \
      --restart always \      --restart always \
      -v /opt/mariadb:/var/lib/mysql  \      -v /opt/mariadb:/var/lib/mysql  \
Línea 150: Línea 151:
 Lo mas complicado de la orden ''docker container run'' son los parámetros ''-v'' y ''-p'' Lo mas complicado de la orden ''docker container run'' son los parámetros ''-v'' y ''-p''
 </note> </note>
 +
 +=== Más opciones ===
 +Veamos ahora otras opciones de ''docker container exec''
 +
 +  * ''--rm'': Que se borre el contenedor si éste se para.
 +  * ''-w carpeta'': La carpeta en la que se estarán en el contenedor cuando se ejecute algo. Es como hacer un ''cd''
 +  * Otra opción que suelen tener los contenedores, es poder pasar argumentos después del nombre de la imagen. Eso argumentos a veces son realmente argumentos al programa que se va a ejecutar y otras veces es directamente el nombre del programa que se va a ejecutar junto a sus argumentos. Veremos ejemplos de ésto en el siguiente tema
 +
 +<sxh base>
 +  docker container run \
 +     -dit \
 +     --restart always \
 +     --rm \
 +     -w /var/lib/mysql \
 +     -v /opt/mariadb:/var/lib/mysql  \
 +     -e MYSQL_ROOT_PASSWORD=root  \
 +     -p 4000:3306  \
 +     --name  prueba_mariadb \
 +     --hostname prueba_mariadb \
 +     mariadb:10.1
 +</sxh>
 +
 +hemos añadido ''--rm'' para indicar que si el contenedor acaba y se para, que automáticamente también se borre.
 +Y también hemos añadido ''-w /var/lib/mysql'' para //estar// en esa carpeta. Y así por ejemplo si lanzásemos ''docker container exec -it prueba_mariadb ls'', se verían los ficheros de la carpeta ''/var/lib/mysql''.
  
  
clase/daw/daw/2eval/tema07.1643296614.txt.gz · Última modificación: 2022/01/27 16:16 por admin