Dino Geek essaye de t'aider

Comment réduire la taille d'une image Docker ?


1. Utilisez une image de base plus petite : Au lieu d’utiliser une image de base comme `ubuntu` ou `debian`, vous pourriez probablement utiliser des images comme `alpine`, qui sont beaucoup plus petites en taille.

1. Enchaînez les commandes dans une seule commande RUN : Docker crée un nouveau calque chaque fois que vous exécutez une commande. En conséquence, enchainés les commandes vous aidera à réduire le nombre de calques, et donc la taille de l’image.

Par exemple, au lieu de faire :

```
RUN apt-get update
RUN apt-get install -y package1 package2 package3
```

Faites :
```
RUN apt-get update && apt-get install -y \ package1 \ package2 \ package3
```

1. Supprimez les fichiers inutiles : Supprimez les fichiers temporaires ou les caches qui ne sont pas nécessaires pour l’image finale.

Par exemple :
```
RUN apt-get update && apt-get install -y \ package1 \ package2 \ package3 && rm -rf /var/lib/apt/lists/*
```

1. Utilisez .dockerignore : Vous pouvez utiliser un fichier .dockerignore pour ignorer les fichiers et les répertoires qui ne sont pas nécessaires pour la construction de l’image.

1. Utilisez multi-stage builds : Cette fonctionnalité de Docker permet de construire une image en plusieurs étapes, chaque étape étant capable d’utiliser une image de base différente, et de copier uniquement les fichiers nécessaires du stade précédent. Cela permet d’éliminer tous les fichiers non nécessaires à l’image finale.

Exemple :
```

  1. Stage 1
    FROM golang:1.16 AS builder
    WORKDIR /go/src/app
    COPY . .
    RUN go get -d -v ./…
    RUN go install -v ./…

  1. Stage 2
    FROM alpine:latest
    COPY —from=builder /go/bin/app /usr/bin
    CMD [“app”]
    ```
    Dans cet exemple, le stage 1 utilise l’image de base `golang:1.16` pour construire l’application, et le stage 2 utilise l’image de base `alpine:latest` pour exécuter l’application. Seul le fichier binaire de l’application est copié du stage 1 au stage 2, ce qui réduit considérablement la taille de l’image finale.

1. Compresser les fichiers et répertoires : Si votre image Docker contient de nombreux fichiers ou répertoires, vous pouvez envisager de les compresser.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation