Por exemplo, digamos, você não deseja instalar o Node.js no seu computador e ainda deseja desenvolver o Node.aplicativos js ou teste um existente. Nesse caso, você pode simplesmente usar um Node.container js Docker.
Outro exemplo é onde você precisa testar seu Nó.aplicativo js em diferentes versões do Node.js. Nesse caso, você pode usar Nó diferente.Contêineres js Docker com versões diferentes do Node.js instalado para testar seu aplicativo.
Neste artigo, vou mostrar como configurar o Node.ambiente de desenvolvimento js usando Docker. Então vamos começar.
Configurando o diretório do projeto:
Nesta seção, clonarei um dos meus Nó.aplicativo de API js do GitHub para o meu ~ / Projetos / diretório apenas para testar o Docker Node.ambiente de desenvolvimento js Estou prestes a mostrar como configurar. Não é necessário. Você sempre pode usar seu próprio Node.js app se você quiser.
Primeiro, vou navegar para o meu ~ / Projetos / diretório da seguinte forma:
$ cd ~ / Projetos /
Agora, vou clonar meu shovon8 / angular-hero-api Repositório GitHub da seguinte maneira:
$ git clone https: // github.com / shovon8 / angular-hero-api
Os arquivos do projeto estarão no angular-hero-api / como você pode ver na imagem abaixo.
Nó.Imagens do js Docker:
Existem imagens de contêiner oficiais para diferentes versões do Node.js desenvolvido com base em diferentes distribuições Linux no DockerHub. Visite https: // hub.docker.com / _ / node / do seu navegador favorito para encontrar o nó.imagem js que você precisa. Como você pode ver, o nome da tag para todos os Nó.As imagens js estão listadas na página DockerHub do Node.js. Você pode usar imagens baseadas na distribuição Debian Jessie / Stretch, Alpine, ChakraCore Linux para diferentes versões do Node.js.
Normalmente, você não precisa saber muito para usar um Node.imagem do js Docker. Se você quiser usar o Node.js versão 12, então tudo que você precisa fazer é escrever nó: 12 quando você faz um recipiente. Para Nó.js 10, é nó: 10. Para Nó.js 8, é nó: 8. É simples assim.
Configurando o Nó.Ambiente de desenvolvimento js:
Nesta seção, configurarei aliases de comando do Linux para meu nó.aplicativo API js. Dessa forma, posso usar facilmente qualquer versão do Node.js eu quero executar meu aplicativo.
Em cada um dos meus Nodos.diretório do projeto js, vou criar um novo arquivo fonte. Nesse arquivo, vou manter os aliases de comando como node12 para Nó.tempo de execução js 12, node10 para Nó.tempo de execução js 10, node8 para Nó.tempo de execução do js 8 em execução no Docker. Você pode reutilizar o mesmo fonte arquivo com uma pequena modificação em seu outro nó.projetos js também.
Primeiro, navegue até o diretório do seu projeto da seguinte maneira:
$ cd angular-hero-api /
Agora, crie um fonte arquivo com o seguinte comando:
fonte $ nano
Agora, digite as seguintes linhas no arquivo de origem.
alias node12 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v"$ PWD: / usr / src / app" -w / usr / src / app node: 12 '
alias node10 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / app node: 10 '
alias node8 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / app node: 8 '
Aqui, -isto significa, executar o contêiner no modo interativo.
-rm significa remover o contêiner automaticamente quando não for mais necessário.
-nome hero-api define um nome para o contêiner.
-p 4242: 4242 significa o porto de contêineres 4242 é encaminhado para a porta de destino (no seu computador) 4242. O formato desta opção é -destino p: fonte. Lembre-se, a primeira porta antes dos dois pontos (:) é a porta de destino. Se você deseja acessar seu aplicativo em alguma outra porta que não seja 4242 em seu computador, você deve alterar a porta de destino. Se seus aplicativos são executados em alguma outra porta que não seja 4242. Então você tem que mudar a porta de origem.
NOTA: Como estarei usando apenas um dos contêineres por vez, o nome e Porto de destino pode ser o mesmo. Se você deseja executar ou testar seu Nó.aplicativo js em vários nós.versão js ao mesmo tempo, então certifique-se de que nome e Porto de destino é diferente para cada um dos contêineres no arquivo de origem.
Quando terminar, salve o arquivo pressionando
Agora, habilite os aliases com o seguinte comando:
$ source source
Agora, você pode executar qualquer versão do tempo de execução do nó sempre que precisar com node12, node10, node8 comandos como você pode ver na imagem abaixo.
Nó da API Hero em execução.js App:
Agora, vamos ver como executar o angular-hero-api aplicativo do meu repositório GitHub com esta configuração. Vou usar o Node.js 12 runtime primeiro, depois vá para o Node.js 10 e nó.js 8 runtime para mostrar que funciona em cada uma das versões.
O aplicativo API não possui nenhum módulo de nó instalado. Então, você deve instalar todos os módulos de nó necessários com npm install comando da seguinte forma:
instalação de $ node12 npm
Os módulos de nó são instalados como você pode ver na imagem abaixo.
Agora, execute o Node.Aplicativo da API js da seguinte forma:
$ node12 npm executar teste
Como você pode ver, o servidor API está sendo executado na porta 4242 do contêiner. Eu também encaminhei a porta para 4242 no meu computador. Então, devo conseguir acessá-lo na porta 4242.
Sim eu posso acessá-lo. Está funcionando conforme o esperado.
Agora, pare o recipiente pressionando
Vamos tentar executar o aplicativo API com o Node.js versão 10.
$ node10 npm executar testeComo você pode ver, está funcionando.
Funciona para Node.js 10 também.
Finalmente, vamos tentar o Node.js versão 8.
$ node8 npm executar testeO aplicativo API está sendo executado no Node.js 8 runtime também.
Perfeito! Funciona corretamente.
Então, é assim que você configura o Node.ambiente de desenvolvimento js usando Docker. Obrigado por ler este artigo.