acoplable base de la práctica 1 - Docker Introducción e inicio rápido Experiencia

Como base para esta serie de artículos acoplable primer artículo expondrá con más detalle y analizar tres preguntas: ¿Qué acoplable que? ¿Por estibador? Cómo dominar rápidamente la tecnología del estibador?
Esta serie de artículos en acoplable de demostración de uso se basa en CentOS7 lleva a cabo, se supone que el lector ha dominado el conocimiento previo de Linux, si utiliza los comandos operan en el Linux básico que no están familiarizados con, por favor refiérase a mi anterior escritura Linux Getting Started serie de tutoriales .

A, acoplable lo que
un simple perfil frase: Docker es un tipo de tecnología de virtualización de contenedores.
Para entender por qué se producen acoplable, que se ocupa de qué tipo de problemas, debe revisar el proceso de desarrollo bajo la tecnología de virtualización y estibador de.

1.1 La tecnología de virtualización y clasificación
PS: Si usted cree que se utilizó para instalar o máquina virtual de VMware, tal vez usted ha tenido problemas con la tecnología de virtualización. Como mi serie introductoria Linux de artículos en la "Introducción a la Serie 1 Linux y entorno Linux listo para instalar" que se menciona en el punto 3.2.1, puede encontrar "Este ordenador este punto Interl VT-x, pero Interl VT-x está desactivado estado "este problema, si desea instalar Linux en VMware, que debería ser el soporte de virtualización abierta en el BIOS.

La tecnología de virtualización es un concepto genérico, diferentes zonas pueden tener diferentes interpretaciones. En el campo de la informática se refiere generalmente a la informática de virtualización o servidor de virtualización, que es la abstracción central de recursos para poder ejecutar varios sistemas o aplicaciones de software como la meta, para aumentar la utilización de recursos del sistema, mientras que el servidor en el mismo host tasa, reducir costes y facilitar la gestión del ciclo de vida de la aplicación.
Dividido en dos categorías generales: la virtualización de la tecnología Categoría de virtualización basada en hardware y software basado en la virtualización.
El verdadero sentido de la virtualización raro, y basada en software de virtualización basada en hardware desde el nivel del objeto se encuentra, se puede dividir en la virtualización y la aplicación de la plataforma de virtualización. Virtualización de aplicaciones se refiere en general se refiere a la tecnología virtual para simular el dispositivo a través de software, nos referimos generalmente la mayoría de los casos, la plataforma de tecnología de virtualización.
virtualización de plataforma se puede dividir en las siguientes categorías:

  • Totalmente virtualizado
    entorno simulado-VM del hardware subyacente y los privilegios de se refiere al proceso de aplicación, no el invitado necesidad sistema operativo puede modificar. Por ejemplo: VirtualBox, VMware Workstation
  • virtualización asistida por hardware
    con la función de hardware principal es ayudar al asa de soporte de CPUs instrucciones sensibles para implementar sistemas operativos huésped totalmente virtualizado sin modificaciones. Actualmente disponible en 86 tecnologías de virtualización asistida por hardware de arquitectura incluyendo Intel-VT y AMD-V. Por ejemplo: VMware Workstation, Xen, KVM
  • Parte de virtualización
    sólo para una parte de los recursos de hardware virtualizados sistemas operativos invitados necesita ser modificado.
  • Paravirtualización
    algunas interfaces de hardware proporcionados en forma de software para el sistema operativo del cliente, las necesidades del sistema operativo invitado a ser modificados.
  • OS-nivel de virtualización
    kernel a los procesos de aislar diferentes mediante la creación de múltiples instancias de sistema operativo virtual (incluyendo el núcleo y las bibliotecas). Nos referimos generalmente a la tecnología relacionada con contenedores pertenecen a esta categoría, y es uno de estos muchos tecnología de contenedores del estibador.

Si usted dice que la relación entre el estibador y la tecnología de virtualización, creo que se puede resumir como: virtualización de la tecnología a través del desarrollo del pasado para lograr la virtualización de la manera tradicional a través del nivel de hardware, y poco a poco se convirtió en el sistema operativo popular de hoy en función del nivel del contenedor del camino. envase acoplable y el líder de la técnica, como soporte.

1.2 acoplable pasado y presente
envase acoplable se basa en proyectos de código abierto implementación del lenguaje Go, acoplable proyecto se ha unido a la Fundación Linux, y seguir el acuerdo de Apache, todos los proyectos de código abierto se mantienen en https://github.com/docker almacén.
Como dijo el sitio web oficial, la idea es acoplable "Buque generar y ejecutar cualquier aplicación, en cualquier lugar", es decir, a través del paquete de aplicación (Packaging), distribución (Distribution), el despliegue (Despliegue), en funcionamiento (tiempo de ejecución) de gestión de ciclo de vida, simplemente es un paquete, ejecuta en todas partes.
Cargador de muelle está soportado por el sistema operativo de corriente principal, incluyendo las principales distribuciones de Linux, Windows, MacOS, etc., pueden ser instalados. Mientras que los principales proveedores de servicios cloud como IBM, Amazon, Azure y otras plataformas en la nube proporcionan soporte para acoplable de integrarse.
¿Por qué entonces acoplable desarrollará tan rápidamente que?
Como dijo el fundador del estibador, acoplable justo en el momento adecuado y el lugar correcto haciendo lo correcto, es no se produce ningún accidente, en realidad se desarrolló a partir de pie sobre los hombros de nuestros predecesores LXC. LXC (Linux Containers) que se suele decir LXC tecnología de contenedores de Linux para más detalles no dicen, simplemente es LXC durante un largo período de desarrollo, pisado una gran cantidad de la fosa, y luego integrarse en la corriente principal contenido de Linux, lo positivo de modo que está allanando el camino para el nacimiento de principios del estibador de.
Acoplable LXC sobre la base de una mayor optimizar la experiencia del contenedor, la tecnología de contenedores hace universal. Por ejemplo, se ofrece una variedad de herramientas para lograr la gestión de contenedores de distribución, la aplicación versión de trasplante, por lo que los usuarios no tienen que concentrarse en el operativo subyacente; también introduce un sistema de archivos y el mecanismo de espejo eficiente jerárquica, lo que reduce en gran medida la dificultad de la migración. A principios del estibador se basa directamente en la LXC, después de que el proyecto de la versión 0.9 desarrollado libcon-tainer como un impulso para alcanzar un recipiente amplio, que sustituyó a la realización de LXC, tratando de conseguir buque de apoyo ya no se limita al sistema operativo Linux, pero más seguridad, más abierta y más escalable.
Se basa en una serie de tecnologías de código abierto en la plataforma Linux, ventana ofrece un programa contenedor eficiente, ágil y ligero, y para apoyar el despliegue del medio ambiente local y una variedad de plataforma de la corriente principal de la nube. Cargador de muelle se puede decir por primera vez en el desarrollo de aplicaciones, implementación y operación ofrece unas soluciones prácticas "ventanilla única".

1.3 acoplable conceptos de la base
acoplable contiene tres conceptos fundamentales: Espejo, contenedores, almacenes, una parte de las funciones de base se despliegan a su alrededor, por lo que no es un simple primera impresión puede ser.

  • Mirroring
    puede entenderse simplemente como un paquete o una aplicaciones de plantillas de sólo lectura y de su entorno, detrás del contenedor debe ser creado por él. Es similar a una imagen de máquina virtual, si usted tiene experiencia en programación orientada a objetos, sino que también puede ser entendida como una clase de entidad (Clase).
  • Recipiente
    entenderse simplemente como una caja de arena, aislado y se utiliza para ejecutar aplicaciones que desarrollamos. Puede ser entendida como una máquina virtual está en ejecución, también se puede entender como un objeto creado por la clase de entidad CLSS. Mirroring es estática, el contenedor es dinámica.
  • Almacén
    Almacén es la integración de la duplicación de almacenamiento local, acoplable almacén similar al repositorio de código, si usted tiene experiencia con Git y Maven, sería bien entendido.
    repositorio oficial para el Eje del estibador, pero a veces las velocidades de ultramar menos que ideal, por lo que los fabricantes domésticos, tales como Ali nube nube nube Netease, también proporciona una réplica local en los almacenes, por supuesto, puede construir su propio almacén privado.

En segundo lugar, ¿por qué debería acoplable
a averiguar por qué usamos acoplable, a continuación, echar un vistazo a lo que algunos de Docker son competentes?

2.1 acoplable rápido despliegue y el desarrollo
como la Declaración sobre el concepto de estibador de: un solo paquete, corren por todas partes. Dado que la imagen del estibador es empaquetar juntos desarrollamos aplicaciones necesarias para funcionar y su entorno, sus ventajas son evidentes, sobre todo las capacidades de despliegue y distribución rápidas.
Aquí está un ejemplo sencillo, supongamos que hemos desarrollado previamente un software implementado en un único servidor, pero por alguna razón, queremos implementar el software en otro servidor. En circunstancias normales, tenemos que la forma de hacerlo? Tenemos que iniciar sesión en el nuevo servidor, de acuerdo con el procedimiento anterior se repitió una vez el entorno operativo desplegado, y luego ejecutar las observaciones, sino también que, con efectos desconocidos de los cambios en el medio ambiente. Esto es, si acoplable lo que va a pasar? Sólo tenemos que descargar la imagen apropiada a continuación, puede estar en funcionamiento. Rápido y tranquilidad.
Recuerde ambiente PNMB frente a una serie de artículos para construirlo? "Linux entrada de la arquitectura de la serie 20-Servicios Web PNMB combate", no se siente mucha molestia? Este proceso tiene menos de media hora, si sustituimos acoplable desplegado, entonces se puede manejar cada minuto. Más adelante se demostrará el uso de manera acoplable para desplegar PNMB, que el tiempo no será un contraste muy visual, creo que va a caer en amor con estibador.

2.2 acoplable DevOps ventaja de
usar paquete de estibador puede hacerse una vez, ejecuta en todas partes.
Debido a que el espejo ya contiene el medio ambiente, no existe desarrollado localmente para ejecutar los desarrolladores no hay problema, pero la situación allí para ejecutar los asuntos de personal de operación y mantenimiento. Al mismo tiempo que hace que la gestión de la migración, ampliación y actualización más fácil, lo que reduce en gran medida la duplicación de esfuerzos, de manera efectiva la liberación del personal de operación y mantenimiento.

2.3 acoplable contraste con la máquina virtual
tecnología de máquina virtual de contenedores en la victoria rendimiento.
Además de las aplicaciones que se ejecutan contenedores acoplables en el mismo, consume sustancialmente los recursos del sistema adicionales para asegurar el rendimiento de aplicaciones mientras se minimiza sistema aéreo.
N máquinas virtuales tradicionales ejecutar aplicaciones diferentes permitirán a las máquinas virtuales N, cada máquina virtual necesita asignar memoria exclusiva, disco y otros recursos solo, mientras que acoplable sólo hay que comenzar contenedores N y aplicaciones en un recipiente que es puede.
Es la velocidad de arranque, el rendimiento, los costes de memoria, la movilidad y así ganar máquina virtual.

2.4 Aplicaciones de Docker en micro-servicio de
la arquitectura micro-servicios es una de las tecnologías caliente del desarrollo actual en el campo del software, si usted es un desarrollador o entender el desarrollo de la tecnología, creo que debe haber oído las aplicaciones y servicios de monómeros que dos términos micro.
En el curso de la evolución de la arquitectura de software, una vez que un paquete de presentación (como el paquete de guerra) que contiene toda la funcionalidad de la aplicación, tales como un sistema Web que todos los bloques funcionales se ponen juntos, generalmente llamado aplicaciones monómeros. Aunque es posible que los proyectos de desarrollo en las casas-modulares, pero todas las funciones de negocio está incluido en un proyecto, tal complejidad es alta, el despliegue de los problemas, la escasa fiabilidad. Por ejemplo, sólo una pequeña modificación que funciones tiene que redeploy; en la que una pequeña parte del problema hará que la totalidad de los problemas del sistema.
Para hacer frente a estas situaciones, y por lo tanto una arquitectura de micro-servicio. Si usted es un desarrollador de Java, se refiere principalmente a la tecnología de pila de Primavera de arranque y Cloud primavera. la función de servicio de micro es necesaria para dividir una sola empresa, la división de sistemas complejos fiables para cada módulo pequeño, aunque tiene muchas ventajas, pero también aumenta la dificultad de operación y mantenimiento y gestión.
Aunque la arquitectura micro Servicios vez que el contenedor es un montón de tiempo para gestionar un pequeño problema, pero acoplable puede ser bien administrado para cada buque, la expansión elástica, etc., y por lo tanto tienden a adoptar SpringBoot + + SpringCloud acoplable servicio de micro-modelo de arquitectura.

2.5 Estibador en aplicación bigdata de
las arquitecturas tradicionales de grandes volúmenes de datos a menudo son implementar Hadoop, hbase, Kafka, Zookeeper, Flink, chispa , por lo que el clúster, si tanto de forma manual o mediante un script para gestionar la eficiencia es muy baja, y para hacer frente a la expansión elástica o reducción de volumen, escenario de migración es también el control de las necesidades adicionales de trabajo por hacer, y si el despliegue y la gestión de los contenedores del estibador, todo esto será más fácil.
Esta parte de la presentación va a seguir después de la finalización de gran conocimiento compartido de datos a cambio de comparar, así que estad atentos.

2.6 aplicaciones acoplables en las principales empresas de la
tecnología de contenedores acoplable y ha sido plenamente validado en las grandes empresas, tales como: Jingdong 618, los comentarios del grupo de Estados Unidos, Tencent, Sina, setas de la calle y así sucesivamente.

  • aplicación acoplable en Jingdong 618
    2 016 Jingdong equipo elástico nube, acoplable de 10.000 a 150.000, de la aplicación tomar parte completa para probar el flujo de agua a través de una prueba rigurosa de 618.
  • Aplicación del estibador en el Grupo de Revisión de los Estados Unidos en
    2015, el equipo del grupo de la nube de Estados Unidos comenzó a probar la plataforma del agua acoplable gestión de clusters contenedor, optimizado y perfeccionado una serie de columnas, antes de que la plataforma para los comentarios del grupo de Estados Unidos, el hotel de comida para llevar, ir de compras, ojo de gato, más de 10 varios servicios de la División de computación para proporcionar un recipiente, llevando a cientos de negocios en línea, un tipo de servicio cubre las web, bases de datos, tampones, colas de mensajes y similares.
  • Estibador en la aplicación Tencent
    Tencent ventana acoplable formalmente lanzada en octubre de 2014, basado en el nombre clave de Gaia Hilados plataforma de programación de tipo compatible y no acoplable ventana acoplable de aplicación, incluyendo su negocio fuera de línea de los padres, el servicio en línea en tiempo real, así como servicios tales como Hadoop MR , Spark, Storm, Colmena y interno Tencent Lhotse, Hermes, en todo punto y otros servicios.
  • aplicación de microblogging acoplable Sina
    arquitectura acoplable de nube híbrida DCP Weibo se basa, en 2014 hizo un recipiente acoplable de 2015 hizo nube privada y nube híbrida + también programación dinámica, con calma tratar en 2016 de mil millones de PV, cien mil millones de datos, el tamaño de más de 2.000 servidores y más de 20 tamaño de módulo de servicio, diez mil millones de hbase de almacenamiento de datos, más de mil unidades acoplable clúster de nube híbrida.
  • Estibador en el hongo aplicación Street
    elementos de línea del hongo atómico calle privada en el período de Navidad de 2014, la aplicación se divide en una micro-servicios y PaaS basado en la implementación de aplicaciones y publicación. Experimentado varios 11 doble promoción grande, se ha formado gradualmente una cierta escala.

Tres, acoplable a usar
sitios de 3.1 afines
web oficial
https://www.docker.com/
puede ver estibador en Community Edition (CE) y Enterprise Edition (EE) desde el sitio web oficial, se puede utilizar la Edición Comunidad en circunstancias normales.

Práctica en línea acoplable
https://labs.play-with-docker.com/
el sitio es ayudar a la gente a aprender capitán del estibador del estibador y pasado unos días para desarrollar un producto, el juego-con-ventana acoplable basada en navegador, persona PWD, es un campo de pruebas de un estibador.
Permite a los usuarios ejecutar comandos acoplable a los pocos segundos, se puede construir, contenedores de Docker correr puede incluso crear un clúster en el modo acoplable Swarm, también contiene un gran número de laboratorios Docker y ejemplos de ensayo.
Los usuarios pueden experimentar libre de máquina virtual Alpine Linux en el navegador, donde el usuario puede construir, ejecutar contenedores Docker incluso puede crear un clúster en el modo acoplable Swarm. Además del campo de entrenamiento, PWD también contiene un gran número de laboratorios y probado por ejemplo acoplable.
Si lo que desea es experimentar rápidamente la ventana acoplable, que ni siquiera tiene el medio ambiente local se puede instalar de inmediato la experiencia, registra una cuenta o directamente acoplable Hub cuenta para iniciar sesión en la experiencia.

3.2 acoplable instalado
Como se ha mencionado anteriormente soporte para Linux, Windows, MacOS, etc., pero el entorno de producción, se utiliza generalmente en Linux, este artículo demuestra la instalación y el uso de Centos7 al estibador de.
la instalación del cargador de muelle es muy simple, sólo tienes que seguir las indicaciones web oficial.
Rpm, yum, con guión: sitio web oficial describe los tres métodos de instalación han
instalado lo siguiente usando manera mmm

3.2.1 Preparación de máquinas virtuales
configurados dirección de IP, y con el fin de reducir la interferencia, apague el firewall y SELinux.
Si el sistema requiere yum update relativamente antiguo que, este paso no es necesario.

[root@docker ~]# yum update -y

3.2.2 instalar los paquetes necesarios

[root@docker ~]# yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
...省略部分输出内容
Complete!
[root@docker ~]#

3.2.3 Ajuste de almacén

[root@docker ~]# yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo
...省略部分输出内容
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@docker ~]#

Aquí el uso directo del repositorio oficial https://download.docker.com/linux/centos/docker-ce.repo, si Suman puede ser reemplazado por almacén interno, tales como Ali nube.

3.2.4 Instalación del estibador

[root@docker ~]# yum install docker-ce
...省略部分输出内容
Complete!
[root@docker ~]#

El proceso de instalación por tres veces para confirmar y. Este proceso con la velocidad, generalmente más de 10 minutos para completar la instalación.
En ausencia de hormigón con un número de versión después de la orden, por lo que la etiqueta predeterminada para la lastest, así que hay tiempo para ejecutar diferentes versiones pueden ser diferentes, el entorno de producción se recomienda llevar el número de versión especificada.

3.2.5 acoplable se inicia
después de la instalación se haya completado Docker no está activado, por lo que necesita para empezar estibador, y se establece en el arranque. Acoplable puede ser visto por el estado ventana acoplable estado systemctl.

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker ~]# systemctl status docker
  docker.service - Docker Application Container Engine
  Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Active: active (running) since Wed 2020-02-26 21:39:22 CST; 1min 30s ago
    Docs: https://docs.docker.com
Main PID: 57003 (dockerd)
  CGroup: /system.slice/docker.service
...省略部分内容

Se puede observar en estado de ejecución, por lo tanto estibador instalar e iniciar con éxito.

Ver la versión 3.2.6 del estibador información y
visualizar la versión de información

[root@docker ~]# docker -v
Docker version 19.03.6, build 369ce74a3c

Ver información sobre la instalación ventana acoplable

[root@docker ~]# docker info
...省略部分内容
Docker Root Dir: /var/lib/docker
...省略部分内容

Se puede ver la ruta de instalación por defecto / var / lib / cargador de muelle.

3.3 Ejecución del primer contenedor
3.3.1 para crear el primer buque
después de nuestra imagen lista-hola-mundo proporcionada por el sitio oficial en acoplable para crear un contenedor, el contenedor se crea utilizando la función de comando de marcha ventana acoplable que es crear el contenedor y empezar de salida helloworld palabras.

[root@docker ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
   (amd64)
3. The Docker daemon created a new container from that image which runs the
   executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
   to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

[root@docker ~]#

Podemos ver el buen funcionamiento de la embarcación, y la salida del hola de cargador de muelle!
En este momento, el uso local de imágenes ventana acoplable comando para ver el espejo, el espejo puede verse que la llamada hola-mundo.

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        14 months ago       1.84kB
[root@docker ~]#

3.3.2 holamundo análisis principio contenedor
se ejecuta un recipiente, en el interior del contenedor se está ejecutando el programa, ya que normalmente no holamundo programa, tenemos que desarrollar con Java o cualquier otro idioma, entonces empaquetado como un archivo JAR, y luego a través del comando java ejecución. Cada vez que necesita para ejecutar el programa de necesidades que hay que hacer manualmente ejecutar el comando, y en la ventana acoplable, que pone holamundo paquete frasco correspondiente, todo en un contenedor, el contenedor sólo tiene que ejecutar, el programa puede ser ejecutado de inmediato, no es muy conveniente?
Analizamos el principio de funcionamiento de contenedores hola-mundo: En primer lugar, vemos "No se encuentra la imagen 'Hello- mundo: últimas' localmente" este indicador, lo que indica que ninguna imagen hola-mundo local, irá automáticamente al almacén de Docker Hub descargar la imagen, y luego crear el contenedor y ejecutar el programa holamundo dentro del contenedor, este proceso es automatizado hecho.
Y el inicio de este contenedor es de hecho equivalente a un sistema Linux pequeña, pero el comienzo muy rápido, unos segundos en funcionamiento, que es las ventajas anteriormente mencionadas y las máquinas virtuales en comparación.
En cuanto a qué tan rápido? Y que lo que está en el contenedor? Lo que se pueden ejecutar comandos ventana acoplable? En un artículo posterior, se encuentra la respuesta.

Tal entorno acoplable esté listo, comience el próximo artículo, se demuestra el uso de métodos formales para Estibador en varios comandos.

Artículos originales publicados 0 · ganado elogios 0 · Vistas 584

Supongo que te gusta

Origin blog.csdn.net/qq_41490913/article/details/105026670
Recomendado
Clasificación