Preguntas de la entrevista de Docker
Preguntas y respuestas de la entrevista de Docker
1. ¿Qué es un contenedor Docker?
Los contenedores Docker crean abstracciones en la capa de aplicación y empaquetan la aplicación y todas sus dependencias juntas. Esto nos permite implementar aplicaciones de forma rápida y confiable. Los contenedores no requieren que instalemos un sistema operativo diferente. En cambio, utilizan la CPU y la memoria del sistema subyacente para realizar tareas. Esto significa que cualquier aplicación en contenedores puede ejecutarse en cualquier plataforma, independientemente del sistema operativo subyacente. También podemos pensar en los contenedores como instancias de tiempo de ejecución de imágenes de Docker.
2. Describir el ciclo de vida de los contenedores Docker.
Los contenedores Docker pasan por las siguientes etapas:
Crear contenedor
Ejecutar contenedor
Pausar contenedor (opcional)
Abrir contenedor (opcional)
Iniciar contenedor
Detener contenedor
Reiniciar contenedor
Cerrar contenedor
Destruir contenedor
3. ¿Cómo crear un contenedor Docker a partir de una imagen de Docker?
Para crear un contenedor a partir de una imagen, extraemos la imagen que queremos del repositorio de Docker y creamos un contenedor. Podemos usar el siguiente comando:
docker run -d
4. ¿Puede Docker Compose usar JSON en lugar de YAML?
Sí, podemos usar archivos JSON en lugar de YAML para escribir archivos Docker.
$ docker-compose-f docker-compose .JSON arriba
5.
Docker Swarm es una herramienta de orquestación de contenedores que nos permite gestionar múltiples contenedores en diferentes hosts. Con Swarm, podemos convertir varios hosts Docker en un solo host para facilitar el monitoreo y la administración.
6. ¿Qué harías si quisieras utilizar una imagen base y modificarla?
Podemos extraer la imagen de Docker Hub a nuestro sistema local usando el siguiente comando de Docker:
Docker pull
7. ¿recipiente?
Para iniciar un contenedor Docker, use el siguiente comando:
docker start
Para detener un contenedor Docker, use el siguiente comando:
docker kill
Para finalizar un contenedor Docker, utilice el siguiente comando:
docker kill
8.
Un Dockerfile es un archivo de texto que contiene todos los comandos necesarios para crear una imagen de Docker. Docker crea imágenes automáticamente siguiendo las instrucciones de un Dockerfile. Podemos usar Docker Build para crear una compilación automatizada que ejecute múltiples instrucciones de línea de comando en secuencia.
9.Explicar los componentes de Docker.
Estos tres componentes arquitectónicos incluyen el cliente, el host y el registro de Docker.
Cliente Docker: Este componente realiza operaciones de compilación y ejecución para comunicarse con el host Docker.
Host Docker: este componente contiene el demonio Docker, las imágenes Docker y los contenedores Docker. El demonio establece una conexión con el registro de Docker.
Docker Registry: Este componente almacena imágenes de Docker.
Puede ser un registro público, como Docker Hub o Docker Cloud, o un registro privado.
10. ¿Cuál es la diferencia entre virtualización y contenerización?
Virtualización
La virtualización nos ayuda a ejecutar y alojar múltiples sistemas operativos en un servidor físico. En virtualización, un hipervisor proporciona una máquina virtual a un sistema operativo invitado. Las máquinas virtuales forman una abstracción de la capa de hardware, por lo que cada máquina virtual del host puede actuar como una máquina física.
Containerización
La contenedorización nos proporciona un entorno independiente para ejecutar aplicaciones. Podemos desplegar múltiples aplicaciones en un único servidor o máquina virtual usando el mismo sistema operativo. Los contenedores forman una abstracción de la capa de aplicación, por lo que cada contenedor representa una aplicación diferente.
11. ¿Cuál es la función de un hipervisor?
Un hipervisor o monitor de máquinas virtuales es un software que nos ayuda a crear y ejecutar máquinas virtuales. Nos permite utilizar un único host para admitir múltiples máquinas virtuales invitadas. Lo hace dividiendo los recursos del sistema del host y asignándolos al entorno invitado instalado. Se pueden instalar varios sistemas operativos en un único sistema operativo host. Hay dos tipos de planes de gestión:
Nativo: un hipervisor nativo o un hipervisor básico que se ejecuta directamente en el sistema host subyacente. Nos permite acceder directamente al hardware del sistema host sin necesidad de un sistema operativo básico de servidor.
Hosting: El administrador de hosting utiliza el sistema operativo del host subyacente.
12. ¿Cómo construir un Dockerfile?
Para crear una imagen utilizando las especificaciones que hemos descrito, necesitamos crear un archivo de pedido. Para crear un Dockerfile, podemos usar el siguiente comando de compilación de Docker:
$ docker build
13. ¿Qué comando se usa para enviar una nueva imagen al registro de Docker?
Para enviar una nueva imagen al registro de Docker, podemos usar el siguiente comando docker push:
$ docker push myorg/img
14. ¿Motor Docker?
Docker Engine es una tecnología de contenedorización de código abierto que podemos utilizar para construir y contenerizar nuestras aplicaciones. Docker Engine es compatible con:
API Rest de Docker Engine
Interfaz de línea de comandos (CLI) de Docker
Docker Daemon
15. ¿Cómo accedo a un contenedor en ejecución?
Para acceder a los contenedores en ejecución podemos usar el siguiente comando:
$ docker exec -it spree
16. ¿Cómo enumerar todos los contenedores en ejecución?
Para listar todos los contenedores en ejecución podemos usar el siguiente comando:
$ docker ps
17 ¿En qué plataformas? ¿Estibadores huyendo?
Docker se ejecuta en las siguientes distribuciones de Linux:
CentOS 6
Gentoo Penguin
ArchLinux
Crux 3.0 o superior
versión openSUSE 12.3
RHEL 6.5 o superior
Fedora 19/20
Ubuntu 12.04, 13.04
Docker también se puede utilizar en producción a través de los siguientes servicios en la nube:
Microsoft Azure
Google Compute Engine
Amazon AWS EC2
Amazon AWS ECS
Espacio en rack
Consejo: siempre recomendamos investigar un poco la empresa antes de la entrevista.
Para prepararse para esta pregunta en particular, aprenda cómo las empresas usan Docker e incluya las plataformas que usan en su respuesta.
18. ¿Qué son las etiquetas de objetos Docker?
Las etiquetas de objetos Docker son pares clave-valor almacenados como cadenas. Nos permiten agregar metadatos a objetos Docker como contenedores, redes, demonios locales, imágenes, nodos de enjambre y servicios.
19. ¿Cómo garantizar que el contenedor 1 se ejecute antes que el contenedor 2 usando Docker Compose?
Docker Compose no espera hasta que un contenedor esté listo antes de pasar al siguiente. Para controlar nuestro orden de ejecución, podemos usar condiciones de dependencia, depend_on. A continuación se muestra un ejemplo utilizado en el archivo docker-compose.yml:
Versión: "2.4"
Servicio:
Backend:
Versión:.
Depende de:
-db
Base de datos:
Imagen: postgres
comando docker-compose up Los servicios se iniciarán y ejecutarán en el orden de dependencias que especificamos.
20.20.¿Cuál es la función del comando docker create?
El comando docker create crea una capa contenedora grabable en la imagen especificada y prepara la imagen para ejecutar el comando especificado.