1. Prefacio
Puede haber algunos estudiantes que no entiendan el proyecto Docker. Docker está escrito en el idioma GO. Es un proyecto de tecnología virtual ligera que se implementa rápidamente. Permite a los desarrolladores empaquetar sus programas y ejecutar entornos juntos y convertirlos en una imagen de Docker (espejo). De esta manera, impleméntelos en el servidor. Solo necesita descargar esta imagen para ejecutar el programa, evitando la molestia de instalar varias dependencias y entornos cada vez, y también logrando el aislamiento entre aplicaciones.
2. Date la preparación
Primero crearé una aplicación web de Node.js simple para crear un espejo. Luego ejecute un contenedor basado en esta imagen. Esto permite una implementación rápida.
Debido a las razones de la red, mi imagen node.js se descargó de la biblioteca de imágenes nacionales, no Docker Hub.
Primero extraemos la imagen de NodeJS del sitio web del espejo doméstico.
Docker Pull Hub.C.163.com/nce2/nodejs:0.12.2
Después de descargar, consulte nuestra imagen y encuentre su nombre. Lo usaremos más tarde.
3. Crear programa Node.js
Crear paquete.json y escribir información y dependencias relacionadas
VI paquete.json
{"Nombre": "Webtest", "Versión": "1.0.0", "Descripción": "Node.js en Docker", "Autor": "Lpxxn", "Main": "Server.js", "Scripts": {"Inicio": "Node Server.js"}, "Dependencias": {"Express": "^4.13.3"}}}}Crear server.js
VI Server.js
Escriba la web más simple que esta web se basa en el marco Express y devuelve Hello Word. Tenga en cuenta que estamos escuchando el puerto 8888
'Use Strict'; var expresion = require ('express'); var port = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world/n');}); app.listen (port); console.log ('en ejecución en http: // localhost:' + port);4. Crea un Dockerfile
A continuación, el protagonista sube al escenario para crear el archivo DockerFile. Este archivo es un archivo necesario para crear la imagen.
VI Dockerfile
Docker construirá una imagen de acuerdo con el contenido del Dockerfile. Primero daré el código completo y luego lo explicaré uno por una línea
Desde Hub.C.163.com/nce2/nodejs:0.12.2# Crear directorio de aplicaciones Mkdir -p/Home/ServiceWorkDir/Home/Service# Bundle App Sourcecopy. /Home/Servicerun NPM Installexpose 8888cmd ["NPM", "Inicio"]
Explicémosle oración por oración
Desde Hub.C.163.com/nce2/nodejs:0.12.2
Desde es la imagen de origen básica para construir la imagen. hub.c.163.com/nce2/nodejs:0.12.2 es el nombre de la imagen, que es la imagen que retiramos del servidor nacional al principio. Si no hay Docker localmente, extraerá la imagen en sí.
# Crear aplicaciones DirectoryRun Mkdir -P /Home /ServiceWorkDir /Home /Service
La primera ejecución de la oración se usa para crear una carpeta en la imagen y se usará para guardar nuestro código en el futuro.
La segunda oración, WorkDir, es usar la carpeta que creamos como directorio de trabajo.
# Bundle App SourCecopy. /Inicio/Instalación de Servicerun NPM
La primera copia de la oración es copiar todos los archivos en el directorio actual de la máquina a la carpeta /home /servicio de la imagen.
La segunda ejecución de la oración usa NPM para instalar todas las dependencias requeridas para nuestra aplicación.
Exponer 8888
Dado que nuestra aplicación web escucha para el puerto 8888, exponemos este puerto al host para que pueda acceder a la web desde el exterior.
CMD ["NPM", "Inicio"]
Creo que puedo decir qué hace sin explicarlo. Ejecute el comando npm start , este comando ejecutará Node Service.js
Inicie nuestra aplicación web.
5. Imagen de construcción
Ejecute el siguiente comando en el directorio donde se encuentra su Dockerfile para construir una imagen.
Docker Build -T MyNodeApp.
No olvides el último punto
Después de la construcción, consulte nuestra imagen
6. Corre el espejo
Docker Run -D -P 8888: 8888 AC5
-D indica que el contenedor se ejecutará en segundo plano, -p indica el mapeo de puertos, asigna los productos 8888 de la máquina local al puerto 8888 del contenedor para que la red externa pueda acceder a nuestra web a través de los productos 8888 de la máquina local.
El AC5 detrás es nuestra ID de imagen. Debido a que los primeros 3 ya pueden localizar esta imagen, no escribí lo siguiente.
Verifique la identificación del contenedor que acabamos de ejecutar a través de Docker PS
Impresión del registro 7370 es nuestra ID de contenedor. Al igual que la ID de imagen, puede escribirlo todo. Soy vago y escribo los primeros 4 dígitos, lo cual es suficiente para identificar este contenedor.
Docker Logs 7350
Si piensa en los siguientes comandos en Container, puede operar en Linux ordinario después de ingresarlo. Si desea salir, puede ejecutar el comando de salida.
7. Prueba
Primero verifiquemos si podemos acceder a nuestra web a través de Curl.
curl -i localhost: 8888
También puedes verlo a través del navegador
8. Resumen
Bien, este tutorial está aquí. ¿Lo has aprendido? Espero que este artículo te ayude a comenzar. Si tiene alguna pregunta o pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.