Como executar o servidor Consul usando o Docker

Como executar o servidor Consul usando o Docker
Consul é uma ferramenta de descoberta de serviço de código aberto que é baseado e construído em Golang. Ajuda você a descobrir requisitos de aplicativos de serviços, como banco de dados, filas e e -mails. Ele vem com alguns recursos impressionantes, como descoberta de serviço, status de verificação de saúde, armazenamento de chave/valor, implantação multi-dataacenter e interface do usuário da web. Docker é uma ferramenta projetada para facilitar a criação, implantação e execução de aplicativos usando contêineres. Podemos encerrar o aplicativo e todas as dependências e bibliotecas necessárias no contêiner e depois implantar o aplicativo facilmente usando o contêiner. Neste guia, veremos como executar cônsul usando o Docker.

Sistema de atualização

Recomendamos que você atualize todos os pacotes e repositórios antes de instalar qualquer novo pacote no sistema. Execute o seguinte comando e ele fará o trabalho para você.

Atualização de sudo apt-get

Instale o docker

Estaremos executando o Servidor Consul usando o Docker, então precisaremos instalar o Docker antes de instalar o cônsul. Primeiro de tudo, remova a versão mais antiga do Docker se houver algum instalado. Execute o seguinte comando para fazer isso.

sudo apt-get Remover Docker Docker-Engine Docker.io

Em seguida, execute o seguinte comando para instalar os pacotes necessários.

sudo apt-get install \ apt-transport-https \ ca-certificados \
Curl \ Software-Properties-Common

Em seguida, você precisará adicionar a chave GPG oficial do Docker. Execute o seguinte comando e ele fará o trabalho para você.

CURL -FSSL https: // Download.Docker.com/linux/ubuntu/gpg | Sudo Apt-Key Add -

Agora estamos prontos para instalar o docker, então, execute o seguinte comando para fazer isso.

sudo apt-get Install Docker-CE

Você pode verificar esta instalação usando o seguinte comando. Docker de status SUDO SYSTEMCTL Você deve ver a seguinte saída.

Docker de status de sudo systemctl
● Docker.Serviço - Docker Application Container Engine
Carregado: Carregado (/lib/Systemd/System/Docker.serviço; habilitado; Predefinição do fornecedor: ativado)
Ativo: ativo (em execução) desde quarta-feira 2019-07-10 12:04:28 UTC; 57s atrás
Docs: https: // docs.Docker.com
PID principal: 4310 (Dockerd)
CGROUP: /Sistema.fatia/docker.serviço
└─4310/usr/bin/dockerd -h fd: // ---containerd =/run/containerd/containerd.meia
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296629644z "
nível = aviso msg = "seu kernel Doe
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296913361Z "
nível = aviso msg = "seu kernel Doe
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.297249324Z "
nível = aviso msg = "seu kernel Doe
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.299409872Z "
nível = info msg = "Carregando recipientes
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.437281588Z "
nível = info msg = "ponte padrão (do
10 de julho 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.501563121Z "
nível = info msg = "Carregando recipientes
10 de julho 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.798610779Z "
nível = info msg = "Docker Daemon" com
10 de julho 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.799513575Z "
nível = info msg = "Daemon foi concluído
10 de julho 12:04:28 TestConsul1 Systemd [1]: Iniciado Docker Application Container Engine.
10 de julho 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.821957315Z "
nível = info msg = "API Ouça /var
Linhas 1-18/18 (final)

Instalar cônsul

Instalamos com sucesso o Docker em seu sistema. Agora estaremos instalando cônsul usando a imagem do Docker. Primeiro de tudo, você precisará obter a imagem do Docker do cônsul. Se você tiver a imagem local da imagem, então, mas aqui vamos baixar a imagem do Docker Hub. Execute o seguinte comando para baixar a imagem. SUDO DOCKER PULL CONSUL Você deve ver a seguinte saída:

Depois de obter a imagem do cônsul, agora você está pronto para iniciar o servidor consul usando o seguinte comando.

Sudo Docker Run -P 8500: 8500 -P 8600: 8600/UDP - -NAME = CONSUL CONSUL: V0.6.4 agente
-servidor -bootstrap -ui -client = 0.0.0.0

Você verá a seguinte saída:

sajid@testconsul: ~ sudo docker run -p 8500: 8500 -p 8600: 8600/udp - -name = cônsul
Consul: v0.6.4 agente -server -bootstrap -ui -client = 0.0.0.0
==> Aviso: Modo de Bootstrap ativado! Não habilite a menos que seja necessário
==> Iniciando agente do cônsul…
==> Iniciando o agente do cônsul RPC…
==> Agente de cônsul em execução!
NODE NOME: '14AAFC4BDAEE'
Datacenter: 'DC1'
Servidor: true (Bootstrap: true)
Cliente addr: 0.0.0.0 (http: 8500, https: -1, dns: 8600, rpc: 8400)
Addr de cluster: 172.17.0.2 (LAN: 8301, WAN: 8302)
Gossip Encrypt: False, RPC-TLS: Falso, TLS-Incoming: Falso
Atlas:

Em seguida, você pode verificar os logs do contêiner usando o seguinte comando.

Sudo Docker Logs

Substitua o ID do contêiner pelo seu recipiente real no nosso caso, é:

Sudo Docker Logs 14AAFC4BDAEE

Agora sabemos que o cônsul é um aplicativo distribuído, então não há sentido em executar o servidor consul sozinho. Em seguida, você precisará executar o cônsul novamente no modo de cliente. Execute o seguinte comando para iniciar o agente cônsul no modo de cliente.

Sudo Docker Run -d Consul Agent

Você pode verificar todos os contêineres disponíveis usando o seguinte comando. Sudo Docker PS O comando acima listará todos os contêineres em execução. Aqui, no nosso caso, deve haver dois recipientes em execução. Você pode implantar muitos agentes consul no modo cliente e em muitos outros nós também se quiser.

Em seguida, você precisará conectar o cliente ao servidor. Execute o seguinte comando para ingressar no nó do servidor.

Sudo Docker Run -d Consul Agent - -retristy -join = 172.17.0.2

Agora podemos verificar os registros do cliente e do servidor e confirmar a conexão entre o servidor consul e o cliente consul usando o seguinte comando.

Sudo Docker Logs 14AAFC4BDAEE

Agora, se você vir os membros do cônsul no nó do cliente e do servidor consul, eles devem nos mostrar os dois contêineres. Você pode fazer isso usando os seguintes comandos.

No nó do cliente: Sudo Docker Exec -it membros do cônsul
No nó do servidor: Sudo Docker Exec -it membros do cônsul

Alterar interface de ligação do servidor consul

Agora vamos começar o cônsul no modo host. Quando começarmos o cônsul no modo host, haverá mais interfaces na máquina host. Para resolver esse problema, você precisará alterar a interface de ligação. Inicie o cônsul no modo host usando o seguinte comando.

sudo docker run - -net = host -e consul_bind_interface = eth1 -d cônsul agente -erver
-Bootstrap-Expect = 1

Em seguida, inicie um cônsul no modo cliente, mas em uma máquina diferente e junte -se ao servidor consul acima. Execute o seguinte comando e ele fará o trabalho para você.

Sudo Docker Run -d Consul Agent - -retristy -join =

Agora podemos verificar isso verificando os membros do cônsul no servidor consul.

Sudo Docker Exec -it 3E9F69FC7E1F Membros do cônsul

Em seguida, inicie o agente do cônsul com o endereço IP da interface de ligação usando o seguinte comando.

sudo docker run -d - -name = consulagent1 - -net = agente consul host
--Represente-joa = 192.168.99.100 -Bind = 192.168.99.101

Mudamos a interface de ligação com sucesso, mas a interface do consul ainda não está disponível para nós. Você precisará fazer a porta 8500 ouvir na interface Eth1 para obter a interface do usuário. Execute o seguinte comando e ele fará o trabalho para você.

sudo docker run - -net = host -e consul_bind_interface = eth1 -e consul_client_interface = eth1
-D agente consul -ui -server -bootstrap -expect = 1

Conclusão

Neste guia, você aprendeu a instalar o docker e o cônsul em seu sistema. Você também aprendeu a configurar o servidor consul usando contêineres do Docker.