Como construir um aplicativo NodeJS no Docker

Como construir um aplicativo NodeJS no Docker
Docker se tornou um tópico quente de conversa hoje em dia, especialmente entre os desenvolvedores. Então, o que é Docker? Docker é uma plataforma OpenSource que monta no kernel Linux e permite que os desenvolvedores construam e implantem seus aplicativos em containers. Os contêineres fornecem um ambiente isolado para a execução de aplicativos e são incluídos em suas próprias bibliotecas, dependências e arquivos de configuração, essenciais para a implantação automática de aplicativos.

Neste guia, iremos orientá -lo como você pode criar um aplicativo Nodejs no Docker. Você aprenderá como construir um aplicativo de demonstração Nodejs no seu servidor e depois empurrá -lo para o Docker Hub. Neste guia, estamos usando o Ubuntu 18.04 LTS para o nosso ambiente de teste.

Então, por que alguém iria querer empurrar suas aplicações no Docker? Como vimos anteriormente, o Docker envia aplicativos em recipientes que pacote bibliotecas e dependências. Isso constitui um ambiente totalmente de pleno direito para implantar seus aplicativos. Além disso, o círculo eleitoral do ambiente de desenvolvimento garante que o aplicativo funcione da mesma maneira em muitos desenvolvedores e máquinas clientes.

Pré -requisitos para o desenvolvimento do NodeJS Docker

Este guia pressupõe que você tenha um conhecimento prático do Docker e também alguma familiaridade com a estrutura de um aplicativo NodeJS.

Antes de prosseguirmos, verifique se o seguinte está instalado em seu ambiente de teste:

  1. Docker
  2. Nodejs & npm

Vamos agora sujar nossas mãos.

Etapa 1: Crie um nó.Aplicação JS

Primeiro, comece criando um aplicativo NodeJS. Criaremos um novo diretório e depois navegaremos dentro dele, como mostrado.

$ mkdir myNode-app && CD MyNode-App

Em seguida, use o NPM, curto para o NodeJS Package Manager, para inicializar o diretório.

$ npm init

O comando cria um arquivo chamado pacote.JSON . Você será solicitado para obter detalhes do arquivo json, como nome, versão, descrição, palavras -chave e o autor para mencionar apenas alguns.

No tipo final, tipo sim para confirmar os detalhes preferidos do arquivo JSON.

Em seguida, adicione a estrutura expressa executando o comando:

$ npm Install Express -Save

Você deve obter uma saída como mostrado abaixo

Etapa 2: Crie um nó.Aplicação JS

Nesta etapa, precisamos criar arquivos necessários para o aplicativo NodeJS. Vamos criar 2 arquivos de amostra da seguinte forma:

  1. JS
  2. html

Para o índice.JS Arquive, copie e cole o conteúdo abaixo:

const express = requer ('express')
const app = express ()
aplicativo.get ('/', (req, res) =>
res.sendfile ('$ __ dirname/index.html ')
)
aplicativo.Ouça (3000, () =>
console.log ('ouvindo na porta 3000!')
)

O arquivo cria uma rota para o índice.arquivo html que vai ouvir na porta 3000

Para o índice.Arquivo HTML, Cole a seguinte configuração



Olá! Bem -vindo ao meu aplicativo NodeJS



Agora estamos prontos para lançar o aplicativo Nodejs.

Etapa 3: Execute o aplicativo NodeJS

Para iniciar o aplicativo, basta emitir o comando

Índice de Nó.JS

Da saída, podemos ver que o aplicativo está ouvindo na porta 3000. Para confirmar isso, abra seu navegador e navegue no IP do seu servidor, como mostrado

http: // ip-address: 3000

Etapa 4: Dockerize o aplicativo NodeJS

Em seguida, vamos criar um arquivo do Docker

$ touch dockerfile

Em seguida, cole a configuração abaixo

Do nó: carbono
Workdir/usr/src/app
Pacote de cópias*.JSON ./
Execute a instalação do NPM
CÓPIA DE…
Expor 3000
Cmd ["nó", "índice.JS "]

Vamos quebrar isso:

A primeira linha mostra que pretendemos usar a versão mais recente do nó para construir nossa imagem. Nó.O JS geralmente usa elementos químicos para nomear suas versões LTS no nó.

A segunda linha aponta para a criação do /usr/src/aplicativo diretório que acomodará o código do aplicativo na imagem.

As linhas 3 e 4 direcionam a cópia do pacote.arquivo json e a execução do NPM Instale comando

CÓPIA DE… Isso empacota o aplicativo NodeJS - compreendendo os arquivos HTML e JS - na imagem do Docker.

Expor 3000 Isso define a porta que o aplicativo Nodejs usará

Cmd ["nó", "índice.JS ”] Isso exibe o comando que precisa ser executado para o aplicativo iniciar.

Etapa 5. Construa o nó.Aplicação JS

Depois de criar o arquivo Docker, agora vamos construir o aplicativo Nodejs usando o comando indicado abaixo. Esteja interessado em incluir um espaço e um período no final, como mostrado. A opção -t nos ajuda a marcar a imagem para facilitar a localização quando executamos o Imagens do Docker comando.

$ Docker Build -t MyNode -App .

Para confirmar a existência da imagem, execute o comando:

$ Docker Images

Etapa 6. Executando o contêiner do Docker

Com a nossa imagem pronta, vamos agora iniciá -la usando o comando:

# Docker Run -P 8080: 3000 -D Node -App

O comando direcionará o aplicativo para ouvir na porta 8080 em vez da porta 3000. Para confirmar isso, abra seu navegador e navegue no URL do servidor, como mostrado

http: // ip-address: 8080

Etapa 7. Empurrando o aplicativo para o Docker Hub

Esta é a etapa final já tendo construído nosso aplicativo e garantiu que tudo esteja funcionando como esperado.

Antes de prosseguir, verifique se você criou uma conta no Docker Hub

Em seguida, construa a imagem mais uma vez usando suas credenciais do Docker

# Docker Build -t [nome de usuário]/tag .

O nome de usuário é o seu nome de usuário de login do hub do dock e a tag é a tag do seu aplicativo. No meu caso, o comando será mostrado

# Docker Build -t Jayarthur/MyNode -App .

Agora faça login no hub do docker um mostrado.

# Docker Login

Forneça seu nome de usuário e senha e pressione Enter

A única coisa que resta agora é empurrar a imagem para o hub do documento. Para conseguir isso, execute o comando:

# Docker Push Jayarthur/MyNode-App

Por fim, faça login no seu hub do docker e confirme a existência da imagem do aplicativo.

E isso nos traz o fim deste tutorial. Sinta -se à vontade para alcançar seu feedback. Obrigado.