Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
linux:docker:start [19/10/2016 16:09] – [enlaces de interés] mate | linux:docker:start [13/02/2020 13:26] (actual) – mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
- | = docker | + | = docker |
+ | {{tag> | ||
== un poco de historia | == un poco de historia | ||
* docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros) | * docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros) | ||
Línia 34: | Línia 35: | ||
* más enlaces (más avanzados) | * más enlaces (más avanzados) | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
Línia 62: | Línia 64: | ||
Se pueden crear tantos contenedores de la misma imagen como se precisen | Se pueden crear tantos contenedores de la misma imagen como se precisen | ||
+ | |||
+ | === mantenimiento (de contenedores) | ||
+ | * listar todos los contenedores existentes:< | ||
+ | * listar todos los contenedores activos:< | ||
+ | * listar los últimos contenedores creados:< | ||
+ | * parar un contenedor: <code bash>$ docker stop < | ||
+ | * borrar un contenedor (no ha de estar en funcionamiento): | ||
+ | * convertir un contenedor en imagen: <code bash>$ docker commit -m "< | ||
+ | |||
+ | el nombre del contenedor puede ser su CONTAINER_ID o si NAME (según aparece en el listado generado con el comando correspondiente) | ||
=== ejecución | === ejecución | ||
Línia 82: | Línia 94: | ||
=== networking | === networking | ||
Por defecto, el motor de docker crea una serie de redes para trabajar con los contenedores: | Por defecto, el motor de docker crea una serie de redes para trabajar con los contenedores: | ||
- | |||
* host | * host | ||
* bridge | * bridge | ||
+ | |||
+ | también existen los drivers '' | ||
Aunque permite crear propias y añadir contenedores a ellas para que se hablen de manera aislada | Aunque permite crear propias y añadir contenedores a ellas para que se hablen de manera aislada | ||
Línia 96: | Línia 109: | ||
* ejecutar contenedor con una red propia:< | * ejecutar contenedor con una red propia:< | ||
* añadir contenedor en marcha a una red propia:< | * añadir contenedor en marcha a una red propia:< | ||
- | * averiguar IP de contenedor:< | + | * averiguar IP de contenedor:< |
- | === mantenimiento | ||
- | * listar todos los contenedores existentes:< | ||
- | * listar todos los contenedores activos:< | ||
- | * listar los últimos contenedores creados:< | ||
- | * parar un contenedor: <code bash>$ docker stop < | ||
- | * borrar un contenedor (no ha de estar en funcionamiento): | ||
- | * convertir un contenedor en imagen: <code bash>$ docker commit -m "< | ||
- | el nombre del contenedor puede ser su CONTAINER_ID | + | === Data Volumes |
+ | es un directorio especificado trabajando en UFS((Union File System - [[https:// | ||
+ | * los Volumenes se inicializan al crear el contenedor. Si existe información en el punto de montaje, esta se copiará al Volumen | ||
+ | * los Volumenes se puede compartir y reusar entre contenedores | ||
+ | * los cambios se aplican directamente en los Volumenes | ||
+ | * los cambios en los Volumenes no se aplican cuando se actualiza una imagen | ||
+ | * los Volumenes no son destruidos al destruir el contenedor que los usa | ||
+ | * se puede acceder a los volúmenes creados en: ''/ | ||
+ | |||
+ | |||
+ | * añadir un Volumen anónimo a un contenedor "al vuelo":< | ||
+ | * añadir un Volumen anónimo a un contenedor "al vuelo" y borrar todo al salir:< | ||
+ | * crear un Volumen para su posterior uso:< | ||
+ | * " | ||
+ | * [[https:// | ||
+ | * añadir Volumen existente a contenedor:< | ||
+ | * añadir un directorio local en un contenedor, con opción de solo-lectura | ||
+ | * añadir fichero local en contenedor: <code bash>$ docker run --rm -it -v ~/ | ||
+ | * crear Volumen usando contenedor y compartir entre varios contenedores. El directorio será ''/ | ||
+ | $ docker run -d --volumes-from dbstore --name db1 training/ | ||
+ | $ docker run -d --volumes-from dbstore --name db2 training/ | ||
+ | $ docker run -d --volumens-from db1 --name db3 training/ | ||
+ | * backup de Volumenes (en host local). Crea un .tar del Volumen / | ||
+ | * restore de tar:< | ||
+ | $ docker run --rm --volumes-from dbstore2 -v $(pwd):/ | ||
+ | * mostrar Volumenes: <code bash>$ docker volume ls</ | ||
+ | * mostrar Volumenes clgados (huérfanos): | ||
+ | * borrar volúmenes:< | ||
+ | * borrar Volumenes | ||
+ | |||
+ | Pendiente: | ||
+ | * Volume labels | ||
== otros comandos | == otros comandos |