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
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 o Vultr oferece um aplicativo Docker com um clique que atualmente suporta o CentOS 7 x64 e o Ubuntu 16.04 x64.
Para começar, você precisará de pelo menos dois servidores VC2 executando o Alpine Linux 3.9.0. No seu enxame Docker, um desses servidores atuará como uma manager node
interface com redes externas e delegará tarefas nos nós dos trabalhadores. O outro servidor atuará como worker node
- executando tarefas delegadas a ele pelo nó do gerente.
Observe que você pode iniciar mais de dois servidores se o aplicativo exigir redundância e / ou mais poder de computação, e as etapas fornecidas neste guia ainda serão aplicadas.
Visite a interface de implantação do servidor Vultr .
Verifique se a Vultr Cloud (VC2)
guia está selecionada na parte superior da página.
Você pode selecionar qualquer local da Server Location
seção; no entanto , todos os servidores devem estar no mesmo local ; caso contrário, não será possível implantar um enxame do Docker neles.
Selecione a ISO Library
guia da Server Type
seção e escolha a Alpine Linux 3.9.0 x86_64
imagem.
Selecione uma opção apropriada na Server Size
seção. Este guia usará o tamanho do servidor SSD de 25 GB, mas isso pode ser insuficiente para atender aos requisitos de recursos do seu aplicativo. Embora o Vultr facilite a atualização do tamanho de um servidor após o lançamento, você deve considerar cuidadosamente qual o tamanho do servidor que seu aplicativo precisa para otimizar.
Na Additional Features
seção, você deve selecionar a Enable Private Networking
opção Embora as outras opções não sejam necessárias para seguir este guia, você deve considerar se cada uma delas faz sentido ou não no contexto do seu aplicativo.
Se você já ativou a Multiple Private Networks
opção em sua conta, precisará selecionar uma existente ou criar uma nova rede privada para seus servidores. Se você não o ativou, poderá ignorar esta seção. Para obter informações sobre como configurar manualmente redes privadas, consulte este guia .
Pule a Firewall Group
seção por enquanto. Somente o servidor que atua como um nó gerenciador no enxame do Docker precisará de portas expostas, e isso deve ser configurado após a implantação do servidor.
Na parte inferior da página, você deve inserir um Server Qty
de pelo menos dois. Como mencionado anteriormente, você pode precisar de mais de dois servidores, mas dois são suficientes para seguir este guia.
Por fim, na Server Hostname & Label
seção, digite nomes e rótulos significativos e memoráveis para cada servidor. Para os fins deste guia, o nome do host e o rótulo do primeiro servidor serão docker-manager
e Docker Manager
, respectivamente - docker-worker
e Docker Worker
para o segundo, respectivamente.
Após verificar duas vezes todas as suas configurações, você pode clicar no Deploy Now
botão na parte inferior da página para iniciar seus servidores.
Como você escolheu um sistema operacional da biblioteca ISO da Vultr, precisará instalar e configurar manualmente o Alpine Linux 3.9.0 em cada servidor.
Depois de dar a Vultr um minuto ou dois para alocar seus servidores, clique no more options
ícone de três pontos para o Docker Manager
servidor na interface de gerenciamento do servidor e escolha a View Console
opção.
Você deve ser redirecionado para um console com um prompt de login. Caso contrário, aguarde mais um minuto para o Vultr concluir a implantação de seus servidores.
Nesse prompt de login, digite root
como o nome de usuário. A versão ao vivo do Alpine Linux 3.9.0 (que é o que seus servidores estão executando no momento) não requer que o superusuário insira uma senha ao efetuar login.
Após o login bem-sucedido na conta raiz, você verá uma mensagem de boas-vindas seguida por um prompt de shell semelhante ao seguinte:
localhost:~#
Para iniciar o instalador do Alpine Linux, digite o seguinte comando:
# setup-alpine
Primeiro, escolha um layout de teclado apropriado. Este guia usará o us
layout e a variante.
Ao definir o nome do host, escolha o mesmo nome que você definiu para este servidor durante a implantação. Se você seguiu exatamente este guia, o nome do host deve ser docker-manager
.
Duas interfaces de rede devem estar disponíveis: eth0
e eth1
. Se você vir apenas eth0
isso, significa que você não configurou a rede privada de seus servidores corretamente. Inicialize eth0
usando dhcp
e inicialize eth1
usando o endereço IP privado, máscara de rede e gateway que este servidor foi atribuído durante a implantação. Você pode acessar esses detalhes na interface de configurações do seu servidor. Quando solicitado, não execute nenhuma configuração manual de rede.
Digite uma nova senha para a conta raiz e selecione um fuso horário apropriado para o local em que você escolheu implantar esses servidores.
Se você pretende usar um proxy HTTP / FTP, insira seu URL, caso contrário, não configure um URL de proxy.
Escolha um cliente NTP para gerenciar a sincronização do relógio do sistema. Este guia será usado busybox
.
Quando solicitado a usar um espelho de repositório de pacotes, escolha um explicitamente digitando seu número; detectar automaticamente e selecionar o mais rápido digitando f
; ou edite manualmente o arquivo de configuração do repositório digitando e
, o que não é recomendado, a menos que você esteja familiarizado com o Alpine Linux. Este guia usará o primeiro espelho.
Se você planeja usar o SSH para acessar seus servidores ou hospedar um sistema de arquivos baseado em SSH, selecione um servidor SSH para usar. Este guia será usado openssh
.
Quando solicitado a usar um disco, escolha disco vda
como sys
tipo.
O Alpine Linux 3.9.0 agora deve estar instalado no seu servidor. Repita esse processo para todos os outros servidores implantados anteriormente, garantindo que você substitua os valores corretos pelo nome do host e pela eth1
interface de rede.
Neste ponto, seus servidores ainda estão executando a versão ISO ao vivo do Alpine Linux 3.9.0. Para inicializar a partir da instalação do SSD, visite a interface de configurações do seu servidor, navegue até a Custom ISO
entrada do menu lateral e clique no Remove ISO
botão Isso deve reiniciar o servidor. Caso contrário, reinicie manualmente.
Depois que o servidor terminar de reiniciar, volte para o console da web do servidor Docker Manager
.
Faça login na conta raiz usando a senha que você definiu anteriormente durante o processo de instalação.
Ative o repositório de pacotes da comunidade descomentando a terceira linha de /etc/apk/repositories
uso vi
. Você pode ativar os repositórios de borda e teste de maneira semelhante, mas eles não são obrigados a seguir este guia.
Sincronize o índice do pacote local do servidor com o repositório remoto selecionado anteriormente, digitando o seguinte comando shell:
# apk update
Em seguida, atualize pacotes desatualizados:
# apk upgrade
Como antes, repita esse processo de configuração para cada servidor implantado anteriormente.
Antes de instalar o próprio pacote do Docker, convém criar um docker
usuário separado . Você pode fazer isso usando o seguinte comando:
# adduser docker
Nota: Este novo usuário e quaisquer usuários adicionados ao novo docker
grupo terão privilégios de root assim que o pacote do Docker for instalado. Veja o seguinte problema no repositório Moby Github:
Devido à
--privileged
janela de encaixe, qualquer pessoa adicionada ao grupo 'janela de encaixe' é equivalente à raiz. Qualquer pessoa no grupo de janelas de encaixe possui uma porta traseira em torno de todas as políticas de escalonamento de privilégios e auditoria no sistema.Isso é diferente de alguém ser capaz de executar o sudo na raiz, onde eles têm política e auditoria aplicada a eles.
Se você deseja dar permissão ao sudo para o docker
usuário, primeiro instale o sudo
pacote:
# apk add sudo
Em seguida, crie um sudo
grupo:
# addgroup sudo
Por fim, adicione o docker
usuário ao sudo
grupo:
# adduser docker sudo
Agora você pode seguir a etapa 4 deste guia para concluir a configuração do sudo.
Neste ponto, você está pronto para instalar o pacote do Docker. Observe que não é estritamente necessário ter um docker
usuário com capacidade sudo separado para instalar e configurar o Docker, mas este guia segue essa convenção.
Instale o pacote do Docker com o seguinte comando:
# apk add docker
Ative o script init do Docker:
# rc-update add docker
Por fim, inicie o daemon do Docker:
# rc-service docker start
Você pode verificar se o Docker está em execução com este comando:
# docker info
Como na última vez, repita esse processo de instalação do Docker para cada servidor implantado no início.
Com toda essa configuração resolvida, você finalmente está pronto para criar o enxame do Docker.
Navegue de volta para o console da web do seu Docker Manager
servidor. Você configurará este servidor como um nó gerenciador no seu enxame. Se você optou por criar o docker
usuário anteriormente, efetue login usando essa conta em vez do superusuário.
Digite o seguinte comando, mas substitua 192.0.2.1
pelo endereço IP privado (e não público), ao qual seu Docker Manager
servidor foi atribuído:
$ docker swarm init --advertise-addr 192.0.2.1
O Docker exibirá um comando que você pode executar em outros servidores na rede privada para adicioná-los como nós de trabalho a esse novo enxame. Salve este comando.
Agora navegue até o console da web do seu Docker Worker
servidor, entrando com o docker
usuário se você o criou.
Para adicionar este servidor como um nó de trabalho ao swarm que você acabou de criar, execute o comando que você salvou na saída do comando de criação do swarm. Será semelhante ao seguinte:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
O Docker exibirá se o nó conseguiu ingressar no enxame. Se você encontrar problemas ao adicionar nós de trabalho ao enxame, verifique sua configuração de rede privada e consulte este guia para solucionar problemas.
Se você implantou mais de dois servidores no início, poderá adicionar o restante como nós de trabalho ao seu enxame usando o comando acima, aumentando a quantidade de recursos disponíveis para seu aplicativo. Como alternativa, você pode adicionar nós de gerente adicionais, mas isso está além do escopo deste guia.
Nesse ponto, seu enxame Docker está pronto para uso. No entanto, você pode, opcionalmente, iniciar uma pilha do Portainer no nó do gerente em seu enxame. O Portainer oferece uma interface web conveniente para gerenciar seu enxame e os nós nele.
Agora é hora de criar um grupo de firewall para seu enxame. A menos que seu aplicativo exija especificamente, exponha apenas portas nos nós do gerente . A exposição de portas nos nós de trabalho sem uma consideração cuidadosa pode introduzir vulnerabilidades.
Navegue até a interface de gerenciamento do firewall e crie um novo grupo de firewall. Seu aplicativo deve ditar quais portas expor, mas você deve, no mínimo, expor a porta 9000
para o Portainer. Aplique esse grupo de firewall ao Docker Manager
servidor.
Embora não seja necessário, é altamente recomendável proteger o Portainer com SSL. Para fins deste guia, você usará apenas um certificado OpenSSL autoassinado, mas considere usar o Let's Encrypt na produção.
Navegue para o console da web do Docker Manager
servidor, efetue login usando o docker
usuário e use os seguintes comandos para gerar um certificado OpenSSL autoassinado:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
Crie um novo arquivo,, ~/portainer-agent-stack.yml
com o seguinte conteúdo:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
Após modificar este arquivo de configuração da pilha do Docker para estar em conformidade com seus requisitos, você pode implantá-lo:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Para verificar se o Portainer está funcionando, execute o seguinte comando após ter dado ao Docker um ou dois minutos para implantar a pilha:
$ docker ps
Você verá dois contêineres com as imagens portainer/portainer:latest
e portainer/agent:latest
, verificando se o Portainer foi iniciado corretamente.
Agora você pode configurar e gerenciar seu enxame Docker visitando o endereço IP público do Docker Manager
servidor na porta 9000
usando HTTPS.
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
Ao executar um aplicativo Web, normalmente você deseja aproveitar ao máximo seus recursos sem precisar converter seu software para usar multithreading
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
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.