1. Préface
Il peut y avoir des étudiants qui ne comprennent pas le projet Docker. Docker est écrit dans la langue go. Il s'agit d'un projet technologique virtuel léger qui est rapidement déployé. Il permet aux développeurs d'emballer leurs programmes et d'exécuter des environnements ensemble et d'en faire une image Docker (Mirror). De cette façon, déployez-les sur le serveur. Il vous suffit de télécharger cette image pour exécuter le programme, en évitant les tracas d'installer à chaque fois diverses dépendances et environnements, et également d'obtenir l'isolement entre les applications.
2. Réalisez la préparation
Je vais d'abord créer une application Web Node.js simple pour créer un miroir. Ensuite, exécutez un conteneur en fonction de cette image. Cela permet un déploiement rapide.
Pour des raisons de réseau, mon image Node.js a été téléchargée à partir de la bibliothèque d'images domestiques, pas Docker Hub.
Tirons d'abord l'image Nodejs du site Web Domestic Mirror.
docker pull hub.c.163.com/nce2/nodejs:0.12.2
Après téléchargement, vérifiez notre image et trouvez son nom. Nous l'utiliserons plus tard.
3. Créer un programme Node.js
Créer package.json et écrire des informations et des dépendances connexes
vi package.json
{"name": "webtest", "version": "1.0.0", "Description": "node.js sur docker", "auteur": "lpxxn", "main": "server.js", "scripts": {"start": "node server.js"}, "dépendances": {"Express": "^ 4.13.3"}}Créer server.js
vi server.js
Écrivez le Web le plus simple que ce Web est basé sur le framework express et renvoie Hello Word. Notez que nous écoutons le port 8888
'utiliser strict'; var expression = require ('express'); var port = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world / n');}); app.Listen (port); console.log ('exécutant sur http: // localhost:' + port);4. Créer un dockerfile
Ensuite, le protagoniste monte sur scène pour créer le fichier dockerfile. Ce fichier est un fichier nécessaire pour créer l'image.
vi dockerfile
Docker créera une image en fonction du contenu du dockerfile. Je vais d'abord donner le code complet, puis l'expliquer une ligne par une
De Hub.C.163.com/NCE2/Nodejs:0.12.2# Créer des applications d'application MKDIR -P / HOME / CERTIVERSWORD / HOME / SERVICE # BUMDLE APP SOURCOPY. / Home / ServiceRun NPM InstallexPose 8888cmd ["npm", "start"]
Expliquons-le à la phrase par phrase
De hub.c.163.com/nce2/nodejs:0.12.2
De l'image source de base pour la création de l'image. hub.c.163.com/nce2/nodejs:0.12.2 est le nom de l'image, qui est l'image que nous avons extraite du serveur domestique au début. S'il n'y a pas de docker localement, il tirera l'image elle-même.
# Créer App DirectoryRun Mkdir -P / Home / ServiceWorkDir / Home / Service
La première phrase est utilisée pour créer un dossier dans l'image et sera utilisée pour enregistrer notre code à l'avenir.
La deuxième phrase, WorkDIR, consiste à utiliser le dossier que nous avons créé comme répertoire de travail.
# Bundle App Sourcecopy. / Installation de NPM Home / ServiceRun
La première copie de phrase consiste à copier tous les fichiers du répertoire actuel de la machine dans le dossier / home / service de l'image.
La deuxième phrase exécutée utilise NPM pour installer toutes les dépendances requises pour notre application.
Exposer 8888
Étant donné que notre application Web écoute le port 8888, nous exposons ce port à l'hôte afin que je puisse accéder au Web depuis l'extérieur.
Cmd ["npm", "start"]
Je crois que je peux dire ce qu'il fait sans l'expliquer. Exécutez la commande npm start , cette commande exécutera le nœud Service.js
Démarrez notre application Web.
5. Construire l'image
Exécutez la commande suivante dans le répertoire où se trouve votre dockerfile pour créer une image.
docker build -t myNodeApp.
N'oubliez pas le dernier point
Après la construction, consultez notre image
6. Exécutez le miroir
docker run -d -p 8888: 8888 ac5
-D indique que le conteneur s'exécutera en arrière-plan, -P, indique la cartographie du port, cartographier les produits 8888 de la machine locale au port 8888 du conteneur afin que le réseau externe puisse accéder à notre Web via les produits 8888 de la machine locale.
L'AC5 derrière est notre ID d'image. Parce que les 3 premiers peuvent déjà localiser cette image, je n'ai pas noté ce qui suit.
Vérifiez l'ID du conteneur que nous venons de courir via Docker PS
Le journal d'impression 7370 est notre ID de conteneur. Tout comme ID d'image, vous pouvez tout écrire. Je suis paresseux et j'écris les 4 premiers chiffres, ce qui est suffisant pour identifier ce conteneur.
Docker Logs 7350
Si vous pensez aux commandes suivantes dans Container, vous pouvez opérer sur Linux ordinaire après son entrée. Si vous souhaitez quitter, vous pouvez exécuter la commande de sortie.
7. Test
Voyons d'abord si nous pouvons accéder à notre Web via Curl.
curl -i localhost: 8888
Vous pouvez également le vérifier via le navigateur
8. Résumé
D'accord, ce tutoriel est ici. L'avez-vous appris? J'espère que cet article vous aidera à démarrer. Si vous avez des questions ou des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.