Créer des Dockerfiles pour les images
Apprenez à rédiger des Dockerfiles pour définir la manière dont l’environnement et les dépendances de votre application sont intégrés dans une image.
Créer des Dockerfiles pour les images est une leçon Docker & Kubernetes for Developers gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & Kubernetes for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What are Dockerfiles?
Welcome to creating your own Docker images! The heart of this process is the Dockerfile.
A Dockerfile is a simple text file that contains a series of instructions. These instructions tell Docker exactly how to build a Docker image, step by step.
Why Use a Dockerfile?
Dockerfiles automate the image creation process. Instead of manually setting up an environment, you define it once in a Dockerfile.
- Reproducibility: Ensures everyone builds the exact same image.
- Version Control: Dockerfiles can be stored in Git, just like your code.
- Efficiency: Speeds up development and deployment workflows.
Starting Point: The FROM Instruction
Every Dockerfile must start with the FROM instruction. It specifies the base image your image will be built upon.
Think of it as choosing the operating system and initial software for your container. For example, ubuntu:22.04 or node:18-alpine.
FROM node:18-alpineRunning Commands: The RUN Instruction
The RUN instruction executes commands during the image build process. This is where you install software, update packages, or create directories.
Each RUN instruction creates a new layer in your image.
FROM node:18-alpine
RUN apk add --no-cache gitSetting the Workspace: WORKDIR
The WORKDIR instruction sets the working directory for any subsequent RUN, CMD, ENTRYPOINT, COPY, or ADD instructions.
It's good practice to set a specific directory for your application files.
FROM node:18-alpine
WORKDIR /appAdding Files: The COPY Instruction
The COPY instruction copies files or directories from your local machine (the build context) into the Docker image filesystem.
The first argument is the source path on your machine, the second is the destination path inside the image.
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./Installing Dependencies
After copying your project's dependency files (like package.json for Node.js), you'll typically use RUN again to install them.
This step ensures your application has all it needs to run.
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .Exposing Ports: The EXPOSE Instruction
The EXPOSE instruction informs Docker that the container listens on the specified network ports at runtime.
It's documentation for users, not an actual publishing of the port. You'll publish ports when you run the container.
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000Default Command: The CMD Instruction
The CMD instruction provides a default command to be executed when a container starts from the image.
Unlike RUN, CMD runs when the container is launched, not during the build. You can override it when running the container.
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]Complete Dockerfile Example
Here's a full example of a simple Dockerfile for a Node.js web application. Each line contributes to building the final image.
# Use an official Node.js runtime as a parent image
FROM node:18-alpine
# Set the working directory in the container
WORKDIR /app
# Copy package.json and package-lock.json to install dependencies
COPY package*.json ./
# Install application dependencies
RUN npm install
# Copy the rest of the application code
COPY . .
# Make port 3000 available to the world outside this container
EXPOSE 3000
# Define the command to run your app
CMD ["npm", "start"]Dockerfile Instruction Check
Which Dockerfile instruction is used to execute commands during the image build process, such as installing packages or creating directories?
Recap: Crafting Dockerfiles
You've learned the essential instructions for crafting Dockerfiles:
FROM: Sets the base image.RUN: Executes commands during build.WORKDIR: Sets the working directory.COPY: Copies files into the image.EXPOSE: Declares listening ports.CMD: Sets the default command to run on container start.
Mastering these allows you to define your application's environment precisely!
Apprends Docker & Kubernetes for Developers avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 12
- Leçons
- 48
Questions Fréquemment Posées
La leçon « Créer des Dockerfiles pour les images » est-elle gratuite ?
Oui — le texte complet de « Créer des Dockerfiles pour les images » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & Kubernetes for Developers, passe à CoddyKit PRO. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Créer des Dockerfiles pour les images » ?
Apprenez à rédiger des Dockerfiles pour définir la manière dont l’environnement et les dépendances de votre application sont intégrés dans une image. Tu pratiques Docker & Kubernetes for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Docker & Kubernetes for Developers ?
Aucune expérience préalable n'est requise. Docker & Kubernetes for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Créer des Dockerfiles pour les images » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Docker & Kubernetes for Developers ?
Oui. Chaque leçon Docker & Kubernetes for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Créer des Dockerfiles pour les images
- Créer des images Docker personnalisées
- Applications mult Conteneurs avec Compose
- Conserver les données avec les volumes Docker