Docker installé Utilisez Docker pour la première fois.
La ligne de commande peut être utilisée VSCode installé
Dans le flux d'apprentissage général de Docker, tout en apprenant la commande docker, nous comprendrons le concept d'images et de conteneurs, puis passerons à docker-compose.
Dans cet article, je vais omettre l'explication des concepts tels que les images et les conteneurs, et remplacer les commandes par l'extension vscode. Ce faisant, vous apprendrez au minimum la commande docker-compose et la déplacerez rapidement pour comprendre Docker pratiquement.
Vous pouvez maintenant utiliser certaines commandes docker-compose. Vous pourrez créer un environnement d'exécution pour nodejs.
Installez-le à l'avance.
Tout d'abord, créez un dossier appelé nodejssample
dans un emplacement approprié. Ce nom est approprié.
Ensuite, créez un fichier appelé docker-compose.yml
directement sous ce dossier comme indiqué ci-dessous.
docker-compose.yml
version: "3"
services:
node:
image: node:14.10
volumes:
- .:/project
tty: true
working_dir: /project
command: bash
Ce contenu sera expliqué plus tard.
Et créez app.js
dans la même hiérarchie
app.js
const main = () => {
console.log("hello node!");
}
main();
OK si cela arrive
Vérifiez ensuite une fois l'état actuel de Docker.
Si vous sélectionnez la marque Docker sur le côté gauche de VS Code, vous verrez l'écran ci-dessous.
Cet écran peut ne pas apparaître si Docker n'est pas en cours d'exécution ou si vous avez déjà exécuté Docker pour une raison quelconque.
Après confirmation, transférez la commande comme suit à l'emplacement de docker-compose.yml sur la ligne de commande.
Commande pour démarrer l'environnement virtuel
docker-compose up -d
Ensuite, le téléchargement commencera et l'écran ressemblera à celui ci-dessous.
nodejssample $ docker-compose up -d
Creating network "nodejssample_default" with the default driver
4f250268ed6a: Pull complete1b49aa113642: Pull complete
c159512f4cc2: Pull complete8439168fd8dc: Pull complete55abbc6cc158: Pull completee5c5821cd889: Pull complete5a7679f70bad: Pull completed827e86d1182: Pull complete2484b06a6da1: Pull complete
Digest: sha256:21658666c0eabc9006b279e826e540d20e2c835507347d9c2f3f7dd5820ec9e3
Status: Downloaded newer image for node:14.10
Creating nodejssample_node_1 ... done
Et l'écran de l'onglet Docker est le suivant. Un environnement virtuel créé avec Docker est appelé un conteneur. L'image est pour faire un conteneur.
Maintenant que l'environnement virtuel a démarré, exécutons nodejs dans cet environnement virtuel.
Cliquez avec le bouton droit sur le conteneur cible> appuyez sur Attack Shell. Ensuite, l'écran suivant apparaîtra.
C'est l'état à l'intérieur du conteneur.
root@df80b994d93d:/project# ls
app.js docker-compose.yml
root@df80b994d93d:/project#
Le même fichier que le projet VS Code est affiché dans la commande ls. Et comme il s'agit d'un conteneur de l'environnement nodejs, vérifiez si nodejs peut être utilisé.
root@df80b994d93d:/project# node -v
v14.10.1
OK si ça sort
Exécutez le fichier app.js
préparé.
root@df80b994d93d:/project# node app.js
hello node!
J'ai pu l'exécuter.
L'environnement virtuel est lourd s'il est laissé sans surveillance, alors supprimez-le lorsque vous avez terminé.
Pour les images, cela rend docker-compose up -d
plus rapide, donc si vous l'utilisez souvent, vous pouvez le laisser.
Si vous ne l'utilisez pas pendant un certain temps, désactivez-le.
Vous pouvez désormais créer un environnement virtuel, exécuter des programmes dans l'environnement virtuel et supprimer l'environnement virtuel.
La syntaxe de base de docker-compose est la suivante
docker-composer la syntaxe
version:Numéro de version.
services:
Nom du service:
Paramètres de service...
La dernière version est la 3 Vous pouvez nommer le service vous-même. Tout est OK.
docker-compose.yml
version: "3" #La dernière version est la 3
services: #C'est corrigé
node: #Tout va bien, mais comme l'image du nœud est utilisée, le nom du service n'est que nœud.
image: node:14.10
volumes:
- .:/project
tty: true
working_dir: /project
command: bash
Il existe de nombreux paramètres de service, mais il est préférable de lire la documentation officielle pour plus d'informations.
Je vais expliquer les éléments de réglage utilisés cette fois un par un.
image Décrit l'image pour créer un conteneur.
.yml
image:Nom de l'image:Nom de la balise
Le nom de la balise peut être considéré comme une version
Il existe diverses images utilisées par Docker sur un site appelé Docker Hub. image du nœud
C'est le tag utilisé dans cet article
volumes Liez le dossier local au dossier du conteneur.
.yml
volumes:
-Chemin du dossier local:Chemin du dossier du conteneur
Si vous ne le définissez pas, vous ne pourrez pas voir les fichiers placés localement tels que app.js
à partir du conteneur.
tty
tty: true
Empêche le conteneur de s'arrêter immédiatement après avoir effectué le traitement spécifié par la commande.
Requis lors de l'entrée dans un conteneur avec Attach Shell
working_dir
C'est toujours l'endroit pour exécuter la commande. Lorsque vous exécutez Attach Shell
, il sera également dans le dossier spécifié ici.
command Traitement à exécuter au démarrage du conteneur. Cette fois, j'ai spécifié bash, donc j'ai l'impression d'ouvrir le terminal et d'attendre.
Il existe divers autres paramètres, donc si vous voyez un autre article Docker et trouvez quelque chose que vous ne savez pas, vous devriez lire la référence.
Une commande pour lire docker-compose.yml
et télécharger une image si nécessaire pour créer un conteneur.
-d est une option pour démarrer en arrière-plan.
Recommended Posts