Comandos Docker Flashcards
Nodo
Una máquina física o virtual ejecutándose en kubernetes donde pods pueden ser programados
Clúster
Conjunto de máquinas físicas o virtuales y otros recursos utilizados por kubernetes
Pod
Es la unidad más pequeña desplegable que puede ser creada, programada y manejada por kubernetes.
Este Pod es un grupo de uno o más contenedores, con almacenamiento compartido entre ellos
Replication Controller
Se asegura de que el número específicado de réplicas del pod estén ejecutándose. Permite escalar de forma fácil los sistemas y maneja la re-creación de un pod cuando ocurre un fallo
Service
Es una abstracción que define un conjunto de pods y la lógica para acceder a los mismos
docker info
Información sobre el uso de docker en el equipo
docker pull imagen
Descarga una imagen del hub
docker image build
Crea un fichero para personalizar las imágenes
docker ps / docker container list
Muestra un listado de los contenedores del sistema
docker run imagen
Arranca un nuevo contenedor en base a una imagen
-v asocia un volumen con un almacenamiento externo
-d arranque en segundo plano
docker volumen create”voldock”
Crear un volumen de docker
docker create “NombreImagen”
Crea un contenedor pero no lo arranca
kubectl run my-nginx –image=nginx –port=80
creación de un pod sin yaml
docker start/stop id_del_contenedor
Arranca y para un contenedor
docker build -t NombreImagen:TagImagen
Crea una imagen a partir del fichero Dockerfile situado en el directorio actual
docker imageS / docker image list / docker image ls
Mostrar las imágenes que tenemos disponibles
docker attach id_del_contenedor
Unirse a un contenedor en ejecución
docker exec
Ejecutar un comando contra un contenedor en ejecución
docker rm id_del_contenedor
Borrar contenedor
docker rmi id_de_la_imagen
Borra imágenes
docker container export
Para backups de un contenedor
docker commit
Crea una nueva imagen a partir de los cambios hechos en un contenedor
kubectl
Manejar cluster de contenedores sobre una infraestructra de nodos distribuida
kubectl apply -f definicion_pods.yaml
Gestiona configuraciones de recursos existentes y continuos
(modo declarativo)
kubectl create -f definicion_pods.yaml
Crea recursos que no existían
(modo imperativo)
kubectl get pods
( muestra los pods que están ejecutándose)
kubectl describe pod nombreDelPod
(info mas detallada del pod)
kubectl get nodes
(nodos en el clúster)
kubectl logs my-nginx
(ver los registros (logs) de un pod específico, en este caso de my-nginx)
¿Dónde encontramos el número de versión del api que se quiere utilizar?
En apiVersion:v1
¿Dónde encontramos el tipo de fichero que se va a crear?
En kind
¿Dónde encontramos los datos propios del pod (como el nombre y los labels asociados)?
En metadata
¿Cómo se especifica que el pod tenga un label con clave “app” y valor “nginx”?
app:nginx
¿Dónde encontramos las especificaciones del pod?
En spec
¿Dónde se nombran los contenedores que forman parte de un pod?
En container
¿Dónde se definen la política de restauración en caso de que el pod se detenga o deje de ejecutarse debido a un fallo interno?
En restartPolicy
FROM
(imagen:tag base (ubuntu,alpine,…) a partir de la cual crear la nuestra)
ENV
(definir variables de entorno)
COPY
(copiar desde el HOST/url hacia dentro de la imagen)
RUN
(ejecución de comandos: apt, mkdir, etc)
EXPOSE
(exponer puertos en el CONTAINER. Solo con esto no podremos acceder desde el HOST)
VOLUME
(nos permite definir un directorio cuya información será persistente)
WORKDIR
(establece el directorio de trabajo)
USER
(usuario con el que se ejecutarán las acciones, por defecto será root)
CMD
(comando+argumentos por defecto que se ejecutará cuando se inicie un CONTAINER con esta imagen). Solo puede haber un CMD en el Dockerfile!!