GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Fichiers Docker

Un Dockerfile est la recette pour construire une image Docker.

Voici le flux de travail :vous créez d'abord un Dockefile, puis vous en construisez une image Docker à l'aide de docker build , et enfin vous exécutez un conteneur à partir de l'image.

Un Dockerfile est un fichier texte contenant des instructions sur la façon de créer une image.

Ces instructions font partie d'un langage de configuration, qui comprend des mots-clés comme FROM , LABEL , RUN , COPY , ENTRYPOINT , CMD , EXPOSE , ENV et plus encore.

Créons notre premier Dockerfile :

Disons que vous avez un dossier avec une simple application Node.js composée d'un app.js , un package.json fichier qui répertorie quelques dépendances que vous devez installer avant d'exécuter l'application, et package-lock.json .

À l'intérieur, créez un fichier texte nommé Dockerfile , sans extension, avec ce contenu :

FROM node:14
WORKDIR /usr/src/app
COPY package*.json app.js ./
RUN npm install
EXPOSE 3000
CMD ["node", "app.js"]

REMARQUE :utilisez des guillemets doubles dans le CMD doubler. Les guillemets simples entraîneront une erreur.

Dans la première ligne, nous disons de quelle image nous voulons commencer. Ce sera notre image de base. Dans ce cas, il prendra l'image officielle Node.js, basée sur Alpine Linux, en utilisant Node 14. Lors de la création d'un conteneur à partir du Dockerfile, Docker obtiendra cette image de Docker Hub.

Ensuite, nous définissons le répertoire de travail sur /usr/src/app , ce qui signifie que toutes nos commandes seront exécutées dans ce dossier jusqu'à ce que nous le modifiions à nouveau. C'est un dossier dont nous savons qu'il existe déjà dans l'image du nœud.

Nous copions le package.json , package-lock.json (en utilisant le * caractère générique) et app.js fichiers présents dans le dossier en cours, dans le répertoire de travail.

Nous exécutons npm install pour installer les packages listés dans le package.json fichier.

Ensuite, nous exposons le port 3000 à l'extérieur, car c'est sur cela que notre application fonctionne. Un conteneur est isolé à 100 % du réseau, sauf si vous exposez l'un de ses ports à l'aide de la commande EXPOSE commande. Nous verrons plus tard comment mapper les ports de notre ordinateur aux ports d'un conteneur Docker.

Enfin, nous exécutons node app.js pour démarrer l'application.

Il s'agit d'un Dockerfile, et nous verrons bientôt comment créer un conteneur à partir de celui-ci.


Docker
  1. Terraform – Déployer Python Lambda (image conteneur)

  2. Comment faire pivoter une image en Gs ?

  3. Extraire le fichier de l'image Docker ?

  4. Comment utiliser un Dockerfile pour créer une image Docker

  5. Comment modifier les images Docker

Une brève introduction à Dockerfile

Qu'est-ce qu'un manifeste d'image Docker ?

Comment déboguer les erreurs Kubernetes "ImagePullBackOff"

Déployer une installation de production Docker MariaDB

Comment réduire la taille de l'image Docker dans les conteneurs Docker

Partage d'images Docker sur Docker Hub