Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Docker/contenedorVsImagen»

De WikiEducator
Saltar a: navegación, buscar
Línea 73: Línea 73:
 
[[Archivo:creacion_conenedor_1.png|800px|center]]
 
[[Archivo:creacion_conenedor_1.png|800px|center]]
 
</div>
 
</div>
 +
 +
 +
<div class="slide">
 +
<!--8------------------------------------------------------>
 +
 +
;Creando  un contenedor a partir de una imagen del repositorio <br />
 +
*1.-A partir de la imagen '''''ubuntu:latest'''''<br />
 +
<source lang=bash>
 +
docker run ubuntu:latest
 +
</source>
 +
{{nota|Este comando habrá creado un contenedor}}
 +
</div>
 +
 +
</div>
 +
 +
 +
<div class="slide">
 +
<!--9------------------------------------------------------>
 +
 +
;Visualizando todos los contenedores: ;<span class=resaltado>docker ps -a</span>
 +
*Podemos ver todos los contenedores
 +
<source lang=bash>
 +
docker ps -a
 +
</source>
 +
*Si no damos la opción '''''-a''''' solo se visualziarán los contenedores activos
 +
</div>
 +
 +
 +
<div class="slide">
 +
<!--10------------------------------------------------------>
 +
 +
;Borrando un contenedor: <span class=resaltado>docker rm</span>
 +
*Como el contenedor tiene un nombre que el sistema le ha dado, vamos a borrarlo y crear otro asignando un nombre
 +
<source lang=bash>
 +
docker rm <nombre_del_contenedor>
 +
</source>
 +
</div>
 +
 +
 +
<div class="slide">
 +
<!--11----------------------------------------------------->
 +
 +
;Crear un contenedor asignando el nombre  <span class=resaltado>docker run  --name nombr</span>
 +
<source lang=bash>
 +
docker run --name web ubuntu:latest
 +
</source>
 +
*Lo visualizamos
 +
<source lang=bash>
 +
docker ps -a
 +
</source>
 +
 +
</div>
 +
 +
 +
<div class="slide">
 +
<!--8------------------------------------------------------>
 +
 +
2.-El contenedor que se quede activo disponible interactivamente '''''-ti'''''<br />
 +
3.-El nombre del contenedor lop doy explícito  '''''-name idioma'''''<br />
 +
4.-La crearemos con un volumen mapeando el directorio /var/www/html del contenedor con /var/www/idioma de mi anfitrión '''''-v /var/www/html:/var/www'''''<br />
 +
 +
 
<div class="slide">
 
<div class="slide">
 
:1.- comando '''''run''''':ej. Descargar una imagen llamada '''''ubuntu:latest'''''  
 
:1.- comando '''''run''''':ej. Descargar una imagen llamada '''''ubuntu:latest'''''  

Revisión de 20:28 18 oct 2022





Contenedor Vs Imagen

  • Estos conceptos son la base para utilizar docker.

Contenedor vs imagen.png
La imagen
  • La imagen es el fichero que nos va a permitir instalar esta especie de máquina virtual.
  • No se emula hardware, sino solo servicios (software: sistema de ficheros, sistema operativo y servicios), por lo que un conetenedor no es una máquina, aunque sí que tenga una ip. Sí que se puede ver como un dispositivo o nodo de la red independiente.
  • Podríamos hacer una comparación con la iso para instalar el sistema operativo, pero solo para tener una idea, ya que el concepto es diferente.
El contenedor
  • El contenedor será el software que corresponde al sistema corriendo con el cual podemos interactuar. Se instala a partir de una imagen y siempre dependerá de ella, es decir, no podremos eliminar la imagen mientras tenga un contenedor asociado.
  • En realidad el contenedor almacena los cambios que haya sobre la imagen y todo va siendo pequeños incrementos sobre un fichero base, lo que se vuelve un sistema muy robusto, ágil y ligero.


Contenedor Vs Imagen

  • También, a partir de un contenedor podemos crear una imagen con todo el software que tenga ese contenedor.
  • Cuando volvamos a desplegar la imagen creada en otro contenedor, tendremos disponible todo el software incluido.

Contenedor vs imagen 1.png

Crear un contenedor

  • Hay varias formas de crear un contenedor, y vamos poco a poco a aprenderlas según vayamos necesitando


Icon key points.gif

Crear un contenedor

Siempre a partir de una imagen



  • Lo primero que tendremos que hacer es descargar una imagen.

(Comment.gif: El nombre de las imágenes y de los contenedores consta de nombre:tag)


 docker pull ubuntu:latest

(Comment.gif: Cuando creamos un contenedor (siempre a partir de una imagen), si esta no existe en local, intentará localizarla en la nube y la descargará, por lo que no necesitaremos hacer un pull de la misma )


Comando run
  • Permite crear y arrancar un contenedor
Docker run
Ejecuta un comando en un nuevo contenedor, por lo tanto lo crea.
Creacion conenedor 1.png


Creando un contenedor a partir de una imagen del repositorio
  • 1.-A partir de la imagen ubuntu:latest
docker run ubuntu:latest

(Comment.gif: Este comando habrá creado un contenedor)



Visualizando todos los contenedores
 ;docker ps -a
  • Podemos ver todos los contenedores
docker ps -a
  • Si no damos la opción -a solo se visualziarán los contenedores activos


Borrando un contenedor
docker rm
  • Como el contenedor tiene un nombre que el sistema le ha dado, vamos a borrarlo y crear otro asignando un nombre
docker rm <nombre_del_contenedor>


Crear un contenedor asignando el nombre docker run --name nombr
docker run --name web ubuntu:latest
  • Lo visualizamos
docker ps -a


2.-El contenedor que se quede activo disponible interactivamente -ti
3.-El nombre del contenedor lop doy explícito -name idioma
4.-La crearemos con un volumen mapeando el directorio /var/www/html del contenedor con /var/www/idioma de mi anfitrión -v /var/www/html:/var/www


1.- comando run:ej. Descargar una imagen llamada ubuntu:latest
2.-#fichero yml con docker-composer .
docker-composer up

Obtener o Crear una Imagen

  • Para obtener una imagen, la podemos descargar de la nube o bien construirla a partir de otra imagen o de un contenedor:
  1. pull para abtener una imagel
  2. Fichero Dockerfile' con el comando build para construir a partir de otra imagen
 docker build .
  1. Comando commit a partir de un contenedor con todo lo que tenga instalado
 docker commit contenedor:v1 - .
  1. Comando import a partir de un fichero tar previamente creado de un contenedor con el comando export,
 docker export contenedor.tar

Imagen contenedor 2.png