1. Prefácio
Pode haver alguns alunos que não entendem o projeto do Docker. Docker está escrito no idioma Go. É um projeto de tecnologia virtual leve que é implantada rapidamente. Ele permite que os desenvolvedores empacotem seus programas e executem ambientes e os transformem em uma imagem do Docker (espelho). Dessa forma, implante -os no servidor. Você só precisa baixar esta imagem para executar o programa, evitando o incômodo de instalar várias dependências e ambientes sempre e também alcançar o isolamento entre os aplicativos.
2. Realize a preparação
Primeiro, criarei um aplicativo Web Node.js simples para criar um espelho. Em seguida, execute um contêiner com base nesta imagem. Isso permite uma rápida implantação.
Por razões de rede, minha imagem Node.js foi baixada da biblioteca de imagens domésticas, não o Docker Hub.
Vamos primeiro puxar a imagem do NodeJS no site do Mirror Domestível.
Docker Pull Hub.C.163.com/nce2/nodejs:0.12.2
Após o download, verifique nossa imagem e encontre seu nome. Vamos usá -lo mais tarde.
3. Crie o programa Node.js
Create Package.json e escreva informações e dependências relacionadas
vi package.json
{ "name": "webtest", "version": "1.0.0", "description": "Node.js on Docker", "author": "lpxxn", "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "express": "^4.13.3" }}Criar server.js
VI Server.js
Escreva a Web mais simples Esta Web é baseada na estrutura expressa e retorna o Hello Word. Observe que estamos ouvindo a porta 8888
'Use Strict'; var expressão = requer ('expresso'); var porta = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world/n');}); app.listen (port); console.log ('executando em htttp: // localhost:' port);4. Crie um Dockerfile
Em seguida, o protagonista sobe ao palco para criar o arquivo Dockerfile. Este arquivo é um arquivo necessário para criar a imagem.
VI Dockerfile
O Docker construirá uma imagem de acordo com o conteúdo do Dockerfile. Vou dar o código completo primeiro e depois explicar um por uma linha
De hub.c.163.com/nce2/nodejs:0.12.2# Criar diretoryrun mkdir -p/home/serviceworkdir/home/serviço# pacote de pacote de aplicativo soucecopy. /Home/Servicerun NPM Installexpose 8888cmd ["npm", "start"]
Vamos explicar a sentença por frase
De hub.c.163.com/nce2/nodejs:0.12.2
De é a imagem de origem básica para criar a imagem. hub.c.163.com/nce2/nodejs:0.12.2 é o nome da imagem, que é a imagem que retiramos do servidor doméstico no início. Se não houver docker localmente, ele puxará a própria imagem.
# Criar diretoryrun mkdir -p /homeworkdir /home /serviço /serviço
A primeira execução da frase é usada para criar uma pasta na imagem e será usada para salvar nosso código no futuro.
A segunda frase, Workdir, deve usar a pasta que criamos como um diretório de trabalho.
# Pacote app footeCopy. /Home/Servicerun NPM Instale
A primeira cópia da frase é copiar todos os arquivos no diretório atual da máquina para a pasta /home /serviço da imagem.
A segunda frase de frase usa o NPM para instalar todas as dependências necessárias para o nosso aplicativo.
Exponha 8888
Como nosso aplicativo da web ouve para a porta 8888, expojamos esta porta ao host para que eu possa acessar a Web de fora.
Cmd ["npm", "start"]
Eu acredito que posso dizer o que ele faz sem explicá -lo. Execute o comando npm start , este comando executará o Node Service.js
Inicie nosso aplicativo da web.
5. construir imagem
Execute o seguinte comando no diretório em que seu Dockerfile está localizado para criar uma imagem.
Docker Build -t MyNodeApp.
Não se esqueça do último ponto
Após a construção, confira nossa imagem
6. Execute o espelho
Docker Run -d -p 8888: 8888 AC5
-D indica que o contêiner será executado em segundo plano, -P indica mapeamento de porta, mapeie os produtos 8888 da máquina local para a porta 8888 do contêiner para que a rede externa possa acessar nossa Web através dos produtos 8888 da máquina local.
O AC5 atrás é o nosso ID de imagem. Como os três primeiros já podem localizar essa imagem, não escrevi o seguinte.
Verifique o ID do contêiner que acabamos de executar via Docker PS
O log de impressão 7370 é o nosso ID de contêiner. Assim como o ID da imagem, você pode escrever tudo. Sou preguiçoso e escrevo os 4 primeiros dígitos, o que é suficiente para identificar este contêiner.
Docker Logs 7350
Se você pensar nos seguintes comandos no contêiner, poderá operar no Linux comum depois de inseri -lo. Se você deseja sair, poderá executar o comando de saída.
7. Teste
Vamos primeiro verificar se podemos acessar nossa Web através do CURL.
Curl -i localhost: 8888
Você também pode conferir através do navegador
8. Resumo
Ok, este tutorial está aqui. Você aprendeu? Espero que este artigo ajude você a começar. Se você tiver alguma dúvida ou dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.