Cómo ejecutar el servidor de cónsul usando Docker

Cómo ejecutar el servidor de cónsul usando Docker
Cónsul es una herramienta de descubrimiento de servicios de código abierto que se basa y se basa en Golang. Le ayuda a descubrir los requisitos de aplicación de servicios como base de datos, colas y correos electrónicos. Viene con algunas características increíbles, como el descubrimiento de servicios, el estado de verificación de salud, la tienda de clave/valor, la implementación de múltiples datacentros y la interfaz de usuario web. Docker es una herramienta diseñada para facilitar la creación, implementar y ejecutar aplicaciones utilizando contenedores. Podemos concluir la aplicación y todas sus dependencias y bibliotecas requeridas en el contenedor y luego implementar la aplicación fácilmente usando el contenedor. En esta guía, veremos cómo ejecutar cónsul usando Docker.

Sistema de actualización

Le recomendamos que actualice todos los paquetes y repositorios antes de instalar cualquier paquete nuevo en el sistema. Ejecute el siguiente comando y hará el trabajo por usted.

actualización de sudo apt-get

Instalar Docker

Ejecutaremos Cónsul Server utilizando Docker, por lo que tendremos que instalar Docker antes de instalar Cónsul. En primer lugar, elimine la versión anterior de Docker si hay algún. Ejecutar el siguiente comando para hacerlo.

sudo apt-get eliminar Docker Docker-Engine Docker.IO

A continuación, ejecute el siguiente comando para instalar los paquetes requeridos.

sudo apt-get install \ apt-transport-https \ ca-certificates \
curl \ software-properties-common

A continuación, deberá agregar la tecla GPG oficial del Docker. Ejecute el siguiente comando y hará el trabajo por usted.

curl -fssl https: // descargar.estibador.com/linux/ubuntu/gpg | sudo apt-key agregar -

Ahora estamos listos para instalar el Docker, así que ejecute el siguiente comando para hacerlo.

sudo apt-get install Docker-CE

Puede verificar esta instalación utilizando el siguiente comando. SUDO SYSTEMCTL ESTADO Docker Debería ver la siguiente salida.

sudo systemctl status docker
● Docker.Servicio - Motor de contenedor de aplicaciones de Docker
Cargado: cargado (/lib/systemd/system/Docker.servicio; activado; Vendor Preset: habilitado)
Activo: activo (en ejecución) desde el miércoles 2019-07-10 12:04:28 UTC; Hace 57s
Documentos: https: // docs.estibador.comunicarse
PID principal: 4310 (Dockerd)
CGROUP: /SISTEMA.portaeño/acopolador.servicio
└─4310/usr/bin/dockerd -h fd: // --containerd =/run/contenedord/contenedord.calcetín
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.296629644z "
nivel = advertencia msg = "tu kernel doe
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.296913361Z "
nivel = advertencia msg = "tu kernel doe
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.297249324z "
nivel = advertencia msg = "tu kernel doe
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.299409872Z "
nivel = info msg = "Cargando contenedores
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.437281588z "
nivel = info msg = "Puente predeterminado (hacer
10 de julio 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 26.501563121z "
nivel = info msg = "Cargando contenedores
10 de julio 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 28.798610779Z "
nivel = info msg = "Docker Daemon" com
10 de julio 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 28.799513575Z "
nivel = info msg = "Daemon ha terminado
10 de julio 12:04:28 TestConsul1 Systemd [1]: Iniciado Docker Application Container Engine.
10 de julio 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10t12: 04: 28.821957315z "
nivel = info msg = "API escucha en /var
Líneas 1-18/18 (fin)

Instalar cónsul

Hemos instalado con éxito Docker en su sistema. Ahora instalaremos cónsul usando la imagen de Docker. En primer lugar, necesitará obtener la imagen Docker de Cónsul. Si tiene la estación de trabajo local de imagen, entonces bien, pero aquí descargaremos la imagen de Docker Hub. Ejecutar el siguiente comando para descargar la imagen. Sudo Docker Pull Cónsul Debería ver la siguiente salida:

Una vez que obtenga la imagen del cónsul, ahora está listo para iniciar el servidor de cónsul usando el siguiente comando.

Sudo Docker Run -P 8500: 8500 -P 8600: 8600/UDP - -Name = Cónsul Cónsul: V0.6.4 agente
-servidor -Bootstrap -ui -client = 0.0.0.0

Verá la siguiente salida:

sajid@testconsul: ~ $ sudo Docker Run -P 8500: 8500 -P 8600: 8600/UDP - -Name = Cónsul
Cónsul: V0.6.4 agente -server -Bootstrap -ui -client = 0.0.0.0
==> ADVERTENCIA: Modo Bootstrap habilitado! No habilite a menos que sea necesario
==> AGENTE DE CONSUL INSTRIVO ..
==> Inicio del agente del cónsul RPC ..
==> Agente de cónsul en ejecución!
Nombre del nodo: '14aafc4bdaee'
Datacenter: 'DC1'
Servidor: True (Bootstrap: True)
ADR DEL CLIENTE: 0.0.0.0 (http: 8500, https: -1, DNS: 8600, RPC: 8400)
Clúster addr: 172.17.0.2 (LAN: 8301, WAN: 8302)
Gossip encrypt: falso, rpc-tls: falso, tls-incoming: falso
Atlas:

A continuación, puede verificar los registros de contenedores usando el siguiente comando.

registros de sudo docker

Reemplace la ID de contenedor con su contenedor real en nuestro caso, es:

Sudo Docker Logs 14AAFC4BDAEE

Ahora sabemos que el cónsul es una aplicación distribuida, por lo que no tiene el punto de ejecutar el servidor de cónsul solo. A continuación, deberá ejecutar el cónsul nuevamente en modo cliente. Ejecutar el siguiente comando para iniciar el agente de consule en modo cliente.

Sudo Docker Run -d Cónsul Agent

Puede verificar todos los contenedores disponibles con el siguiente comando. sudo docker ps El comando anterior enumerará todos los contenedores en ejecución. Aquí, en nuestro caso, debe haber dos contenedores en ejecución. Puede implementar muchos agentes de cónsul en modo cliente y en muchos otros nodos también si lo desea.

A continuación, deberá conectar el cliente al servidor. Ejecutar el siguiente comando para unir el nodo del servidor.

Sudo Docker Run -d Cónsul Agent - -Retry -Join = 172.17.0.2

Ahora podemos verificar los registros del contenedor del cliente y del servidor y confirmar la conexión entre el servidor Cónsul y el cliente Consul utilizando el siguiente comando.

Sudo Docker Logs 14AAFC4BDAEE

Ahora, si ve los miembros del cónsul en el nodo del cliente del cónsul y del servidor, entonces deberían mostrarnos ambos contenedores. Puedes hacerlo usando los siguientes comandos.

En el nodo del cliente: sudo Docker Exec -it miembros del cónsul
En el nodo del servidor: Sudo Docker Exec -it miembros del cónsul

Cambiar la interfaz de enlace del servidor de cónsul

Ahora vamos a comenzar el cónsul en modo host. Cuando comenzaremos a cónsul en modo host, habrá más interfaces en la máquina host. Para resolver este problema, deberá cambiar la interfaz de enlace. Inicie el cónsul en modo host usando el siguiente comando.

Sudo Docker Run --net = host -e consul_bind_interface = eth1 -d cónsul agente -server
-bootstrap-expect = 1

A continuación, inicie un cónsul en modo cliente pero en una máquina diferente y únase al servidor cónsul anterior. Ejecute el siguiente comando y hará el trabajo por usted.

Sudo Docker Run -d Cónsul Agent - -Retry -Join =

Ahora podemos verificar esto revisando los miembros del cónsul en el servidor del cónsul.

Sudo Docker Exec -IT 3E9F69FC7E1F MIEMBROS DEL CONSUL

A continuación, inicie la dirección IP de la interfaz de cónsul agente con el enlace de enlace utilizando el siguiente comando.

Sudo Docker Run -d - -Name = ConsulAgent1 - -Net = Host Consul Consul Agent
--reintento-unión = 192.168.99.100 -Bind = 192.168.99.101

Hemos cambiado la interfaz de enlace con éxito, pero la interfaz de usuario todavía no está disponible para nosotros. Deberá hacer que el puerto 8500 escuche en la interfaz ETH1 para obtener la interfaz de usuario. Ejecute el siguiente comando y hará el trabajo por usted.

Sudo Docker Run --net = host -e consul_bind_interface = eth1 -e consul_client_interface = eth1
-D Cónsul Agent -UI -Server -Bootstrap -Expect = 1

Conclusión

En esta guía, ha aprendido a instalar Docker y cónsul en su sistema. También aprendió a configurar el servidor de cónsul usando contenedores Docker.