Instalando o Docker no Ubuntu 14.04
Usando um sistema diferente? O Docker é um aplicativo que permite implantar programas executados como contêineres. Foi escrito no popular programa Go
Ao executar um aplicativo Web, normalmente você deseja tirar o máximo proveito de seus recursos sem precisar converter seu software para usar multithreading ou loops de eventos complexos. O Docker, no entanto, fornece uma maneira simples de equilibrar a carga internamente do seu aplicativo para aproveitar ao máximo os recursos do servidor. Este artigo mostra como usar o Nginx para equilibrar a carga do aplicativo da Web usando o Docker no CentOS.
Usaremos ferrugem para criar este aplicativo simples. Supondo que você tenha ferrugem instalada, corra cargo new webapp –bin
. Após o sucesso, você verá um diretório chamado webapp
. Dentro de webapp
, você verá um arquivo chamado Cargo.toml
. Anexe as seguintes linhas a ele:
[dependencies.iron]
version = "*"
Em seguida, dentro do src/main.rs
arquivo, remova tudo e preencha-o com o seguinte:
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
Iron::new(|_: &mut Request| {
Ok(Response::with((status::Ok, "Hello Vultr :)")))
}).http("0.0.0.0:3000").unwrap();
}
Nota: Não altere o IP dentro do aplicativo. Isso está configurado para que o Docker possa ouvir seu aplicativo.
Depois de terminar, compile o aplicativo executando cargo build –release
. Dependendo do seu servidor, pode demorar alguns minutos. Se não houver erros, teste o aplicativo seguindo estas etapas:
target/release/webapp
.http://0.0.0.0:3000/
no seu navegador. Substitua 0.0.0.0
pelo endereço IP do seu servidor.Se tudo funcionou corretamente, você verá "Hello Vultr :)" na página.
Crie um Dockerfile
e preencha-o com o seguinte:
FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp
Salve o arquivo. Em seguida, crie um arquivo chamado deploy.sh
e preencha-o com o seguinte:
DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example .
for ((i=0; i<DEPLOY; i++)); do
docker kill $NAME$i ; docker rm $NAME$i
docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done
Quando você executa esse script, ele cria a imagem e implementa o contêiner com base na quantidade definida (o padrão é 5). Se o contêiner existir, ele o matará e removerá do registro antes de ser implantado novamente.
Agora, crie um arquivo de configuração do Nginx e preencha-o com o seguinte:
upstream application {
server localhost:45710;
server localhost:46710;
server localhost:47710;
server localhost:48710;
server localhost:49710;
}
server {
listen 0.0.0.0:80;
location / {
expires 1w;
proxy_pass http://application;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Substitua 0.0.0.0
pelo endereço IP do seu servidor.
Reinicie o Nginx fazendo systemctl restart nginx
. Resolva os erros e prossiga para a próxima etapa.
Implante o aplicativo executando bash ./deploy.sh
.
Você pode verificar o status do seu aplicativo docker ps
- serão criadas 5 imagens que começam com webapp
. Agora, navegue até http://0.0.0.0:3000/
no seu navegador e você verá a mensagem "Olá, Vultr :)" novamente.
Então, que diferença isso faz exatamente?
Se você executar um teste de benchmark na configuração do balanceador de carga, perceberá que mais recursos do servidor estão sendo usados, o que você deseja, especialmente se seu aplicativo for construído em idiomas como Node, onde normalmente seria um thread único. Se você precisar atualizar seu aplicativo, poderá fazê-lo e executá-lo novamente deploy.sh
para reconstruir a imagem e implantar seus contêineres.
Usando um sistema diferente? O Docker é um aplicativo que permite implantar programas executados como contêineres. Foi escrito no popular programa Go
Usando um sistema diferente? Introdução O Sentry é uma solução de código aberto para rastreamento de erros. O Sentry rastreia exceções e outras mensagens úteis
O RancherOS é um sistema operacional incrivelmente leve (apenas cerca de 60 MB) que executa um daemon do Docker do sistema como PID 0 para executar serviços do sistema
O Harbor é um servidor de registro de classe empresarial de código aberto que armazena e distribui imagens do Docker. Harbor estende o Docker Distribution b de código aberto
Este tutorial explica os conceitos básicos de introdução ao Docker. Presumo que você já tenha o Docker instalado. As etapas deste tutorial funcionarão em um
Todos conhecemos e amamos o Docker, uma plataforma para criar, gerenciar e distribuir contêineres de aplicativos em várias máquinas. A Docker Inc. fornece um serviço t
Este artigo mostra como implantar o aplicativo Node em um contêiner do Docker. Nota: Este tutorial pressupõe que você tenha o Docker instalado e leia
Introdução Este guia mostra como criar e configurar um enxame Docker usando vários servidores Alpine Linux 3.9.0 e o Portainer. Esteja ciente de que
Visão geral Este artigo tem como objetivo ajudá-lo a colocar um cluster do Kubernetes em funcionamento com o kubeadm rapidamente. Este guia estará implantando dois servidores, em
Este artigo explica como instalar o docker-compose no CoreOS. No CoreOS, a pasta / usr / é imutável, portanto o caminho padrão / usr / local / bin não está disponível para
Os contêineres LXC (contêineres do Linux) são um recurso do sistema operacional no Linux que pode ser usado para executar vários sistemas Linux isolados em um único host. Thes
Introdução O Docker é um aplicativo que nos permite implantar programas executados como contêineres. Foi escrito na popular linguagem de programação Go
O Kubernetes é uma plataforma de código aberto desenvolvida pelo Google para gerenciar aplicativos em contêineres em um cluster de servidores. Ele se baseia em uma década e
Os aplicativos PHP geralmente são compostos por um servidor da web, um sistema de banco de dados relacional e o próprio interpretador de linguagem. Neste tutorial, estaremos alavancando
Usando um sistema diferente? Introdução O Rancher é uma plataforma de código aberto para executar contêineres e criar um serviço de contêiner particular. Rancheiro é a base
Usando um sistema diferente? Introdução O Docker Swarm transforma seus servidores individuais em um cluster de computadores; facilitando o dimensionamento, alta disponibilidade e
A tecnologia de contêiner do Docker permite executar aplicativos em um ambiente específico e isolado. Docker Community Edition (CE) é o novo nome para o fre
Pré-requisitos Docker engine 1.8+. Mínimo de 4 GB de espaço em disco. Mínimo de 4 GB de RAM. Etapa 1. Instalar o Docker Para instalar o SQL-Server, o Docker deve
Usando um sistema diferente? Introdução O Docker é um aplicativo que permite a implantação de software em contêineres virtuais. Foi escrito no G
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.