Introducción a docker y una colección completa de comandos comunes
Introducción a Docker
1. ¿Qué es Docker?
Docker es un motor contenedor de aplicaciones de código abierto, que se desarrolla en base al lenguaje go y cumple con el protocolo de código abierto Apache2.0. El uso de Docker permite a los desarrolladores empaquetar sus aplicaciones y dependencias en un contenedor portátil y luego publicarlo en cualquier máquina Linux, y también puede lograr la virtualización. Los contenedores Docker utilizan completamente el mecanismo de sandbox y no habrá interfaces entre ellos, lo que garantiza la seguridad entre los contenedores.
Docker nació a principios de 2013 y actualmente cuenta con dos versiones, Community Edition (CE, Community Edition) y Enterprise Edition (EE, Enterprise Edition). Entre ellos, Docker Community Edition es gratuito y de código abierto, que es una opción ideal para individuos y equipos pequeños; Docker Enterprise Edition es de pago, que se proporciona especialmente para empresas y grandes equipos de TI, y se utiliza en aplicaciones comerciales más exigentes. . .
Para empezar, bastará con usar Docker Community Edition.
2. Las características de Docker
Al aprender una tecnología, solo mediante la comprensión de las características de la tecnología se puede utilizar mejor en la práctica. Docker, como el principal motor de contenedores de código abierto actual, tiene las siguientes características principales.
1. Entrega e implementación más rápidas
Los desarrolladores pueden usar una imagen de Docker estándar para crear un conjunto de contenedores de desarrollo. Una vez que se completa el desarrollo, el personal de operación y mantenimiento puede usar directamente este contenedor para implementar el código. Docker puede crear rápidamente contenedores e iterar aplicaciones rápidamente, y hacer que todo el proceso sea visible, lo que facilita que otros miembros del equipo entiendan cómo se crean y funcionan las aplicaciones. El contenedor Docker es liviano y se inicia rápidamente, lo que puede ahorrar mucho tiempo de desarrollo, prueba e implementación.
2. virtualización más eficiente
Cuando el contenedor Docker se está ejecutando, no necesita el soporte de programas de máquinas virtuales adicionales. Debido a que es una virtualización a nivel de kernel, puede lograr un mayor rendimiento y eficiencia.
3. Migración y escalado más fáciles
Los contenedores Docker pueden ejecutarse en casi cualquier plataforma, incluidas máquinas físicas, máquinas virtuales, nubes públicas, nubes privadas, computadoras personales y servidores. Esta buena compatibilidad permite a los usuarios migrar directamente una aplicación de una plataforma a otra, lo que es muy propicio para la migración y expansión de aplicaciones.
4. gestión más fácil
Con Docker, solo se requiere una pequeña modificación para reemplazar una gran cantidad de trabajos de actualización en el pasado. Todos los cambios se distribuyen y actualizan de forma incremental para una gestión automatizada y eficiente.
Además de las características anteriores, Docker también tiene las características de separación lógica de responsabilidades, adecuado para su uso con arquitectura orientada a servicios, etc., que no se describirán en detalle aquí, y los lectores pueden experimentarlo en profundidad durante el proceso de aprendizaje. .
3. La diferencia entre Docker y máquina virtual
Después de entender el concepto y las características de Docker, creo que muchas personas tendrán dudas sobre la diferencia entre Docker y las máquinas virtuales, entonces, ¿cuál es la diferencia entre ellos? El siguiente es un cuadro de comparación para ilustrar las principales diferencias entre los dos, como se muestra en la Figura 1.
En la comparación de la Figura 1 se puede ver que la máquina virtual se ejecuta en el sistema operativo del cliente en cada nivel de aplicación, lo que requiere muchos recursos. Dado que la imagen de disco generada y la configuración del sistema operativo de la aplicación se cruzan entre sí, la máquina virtual tiene una fuerte dependencia del sistema. Una vez que ocurre un problema en el sistema, los archivos y parches de seguridad de los que depende la máquina virtual pueden ser perdido.
Los contenedores en Docker son aislamiento basado en procesos , múltiples contenedores pueden compartir un solo kernel y la configuración requerida para crear una imagen de contenedor de Docker no depende del sistema host. Es precisamente por el aislamiento de la configuración directa del contenedor que no hay configuración cruzada entre los contenedores, por lo que las aplicaciones Docker pueden ejecutarse en cualquier lugar.
Comandos acoplables
La imagen en la ventana acoplable es como la Clase en nuestro java, y el contenedor se basa en esta imagen. Las instancias construidas son similares a los objetos de instancia construidos en base a la Clase en nuestro java. Perdónenme por malentendidos...
en resumen segun tengo entendido
docker 镜像: ----java中 class
docker容器 : ----java中 class new 出来的实例对象
Este artículo no es solo una colección completa de comandos contundentes, sino también un resumen paso a paso de mi aprendizaje personal y uso de Docker. A través de ejemplos uno por uno, puedo profundizar mi comprensión y memoria de los comandos relacionados con Docker.
Comandos básicos de 1.docker
iniciar ventana acoplable
systemctl start docker
cerrar la ventana acoplable
systemctl stop docker
reiniciar ventana acoplable
systemctl restart docker
La configuración de la ventana acoplable se inicia automáticamente cuando se inicia el servicio
systemctl enable docker
Ver el estado de ejecución de la ventana acoplable
------Si ingresa el comando durante la operación, verá verde activo
systemctl status docker
Ver información del número de versión de Docker
docker version
docker info
Comando de ayuda de la ventana acoplable
Si olvida algunos comandos, puede usar esto para ver y revisar
docker --help
docker pull --help
Comando de imagen 2.docker
ID o nombre de la imagen de búsqueda de la ventana acoplable: busque imágenes de palabras clave en Docker Hub (u otros almacenes de imágenes como Ali Image)
ID o nombre de la imagen de extracción de la ventana acoplable del almacén: descargue la imagen del almacén, si desea especificar la versión, debe debe especificarlo después de los dos puntos
docker imágenes: enumerar imágenes descargadas, ver imágenes
docker rmi id o nombre de imagen: eliminar imagen local
docker rmi -f id o nombre de imagen: eliminar imagen
docker build: construir imagen
Ver la lista de imágenes acoplables en su servidor
docker images
espejo de búsqueda
docker search 镜像名
docker search --filter=STARS=9000 mysql 搜索 STARS >9000的 mysql 镜像
Extraiga la imagen sin agregar la etiqueta (número de versión) para obtener la última versión más reciente de la imagen en el almacén de la ventana acoplable y agregue: etiqueta para extraer la versión especificada
docker pull 镜像名
docker pull 镜像名:tag
Obtenga la última versión de mysql (la última versión se obtiene de forma predeterminada si no se especifica el número de versión)
docker pull mysql
Extraigamos una imagen de número de versión específica nuevamente. En cuanto al número de versión, puede verificarlo en docker hub
Búsqueda de imágenes oficial de Docker
Por ejemplo: pull mysql 5.7.40
docker pull mysql:5.7.40
Ejecute la imagen ---- por ejemplo, extraiga un tomcat y ejecútelo para probar
docker pull tomcat
Como se muestra en la figura a continuación: se extrae la última versión de tomcat
docker run 镜像名
docker run 镜像名:Tag
Comando contenedor 3.docker
docker ps: enumerar los contenedores en ejecución
docker ps -a: ver todos los contenedores, incluso los que no se ejecutan
docker stop container id o name: detener el contenedor
docker kill container id: forzar la detención del contenedor
docker start container id or name: iniciar el contenedor detenido
docker inspect
id del contenedor :
ver toda la información del
contenedor
.
docker rm ID o nombre del contenedor: eliminar el contenedor detenido
docker rm -f ID del contenedor: eliminar el contenedor en ejecución
docker exec -it ID del contenedor sh: ingresar el contenedor