• Catégories
    • Toutes les catégories
    • Planète Warez
      Présentations
      Aide & Commentaires
      Réglement & Annonces
      Tutoriels
    • IPTV
      Généraliste
      Box
      Applications
      VPN
    • Torrent & P2P
    • Direct Download et Streaming
    • Autour du Warez
    • High-tech : Support IT
      Windows, Linux, MacOS & autres OS
      Matériel & Hardware
      Logiciel & Software
      Smartphones & Tablettes
      Graphismes
      Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
      Tutoriels informatiques
    • Culture
      Actualités High-Tech
      Cinéma & Séries
      Sciences
      Musique
      Jeux Vidéo
    • Humour & Insolite
    • Discussions générales
    • Espace détente
    • Les cas désespérés
  • Récent
  • Populaire
  • Résolu
  • Non résolu
Réduire

Planète Warez

,
  • Politique
  • Règlement
  • À propos
  • Annonces
  • Faire un don
  • Feedback
  • Team
  • Tutoriels
  • Bug Report
  • Wiki
    • Light
    • Default
    • Ubuntu
    • Lightsaber
    • R2d2
    • Padawan
    • Dim
    • FlatDark
    • Invaders
    • Metallic
    • Millennium
    • Leia
    • Dark
    • DeathStar
    • Starfighter
    • X-Wing
    • Sith Order
    • Galactic
ko-fi

[Docker] Installer Docker et apprendre les bases (Debian)

Planifier Épinglé Verrouillé Déplacé Tutoriels informatiques
dockerdebian
1 Messages 1 Publieurs 352 Vues
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • Violenceundefined Occupé
    Violenceundefined Occupé
    Violence CosmoSeeders # Dev I.T Guy PW Addict
    a écrit sur dernière édition par Violence
    #1

    horizontal-logo-monochromatic-white.png


    Bonjour à tous,

    Voici un petit tutoriel pour vous présenter ce qu’est Docker, comment l’installer sur un système Debian et apprendre à l’utiliser à minima.


    Table des matières


    C’est quoi Docker

    À quoi sert Docker ?

    Comment fonctionne la technologie Docker ?

    La technologie Docker est-elle la même que celle des conteneurs Linux traditionnels ?

    Les avantages des conteneurs Docker

    • Modularité
    • Couches et contrôle des versions d’image
    • Restauration
    • Déploiement rapide

    Installation de Docker

    Utilisation basique de Docker

    Désinstaller Docker

    Travailler avec Docker

    Sources


    C’est quoi Docker


    – Le logiciel « Docker » est une technologie de conteneurisation qui permet la création et l’utilisation de conteneurs Linux.

    – La communauté Open Source Docker travaille à l’amélioration de cette technologie disponible gratuitement pour tout le monde.

    – L’entreprise Docker Inc. s’appuie sur le travail de la communauté Docker, sécurise sa technologie et partage ses avancées avec tous les utilisateurs. Elle prend ensuite en charge les technologies améliorées et sécurisées pour ses clients professionnels.


    À quoi sert Docker ?


    – Avec la technologie Docker, vous pouvez traiter les conteneurs comme des machines virtuelles très légères et modulaires. En outre, ces conteneurs vous offrent une grande flexibilité : vous pouvez les créer, déployer, copier et déplacer d’un environnement à un autre, ce qui vous permet d’optimiser vos applications pour le cloud.


    Comment fonctionne la technologie Docker ?


    – La technologie Docker utilise le noyau Linux et des fonctions de ce noyau, telles que les groupes de contrôle cgroups et les espaces de noms, pour séparer les processus afin qu’ils puissent s’exécuter de façon indépendante.

    – Cette indépendance reflète l’objectif des conteneurs : exécuter plusieurs processus et applications séparément les uns des autres afin d’optimiser l’utilisation de votre infrastructure tout en bénéficiant du même niveau de sécurité que celui des systèmes distincts.

    – Les outils de conteneurs, y compris Docker, sont associés à un modèle de déploiement basé sur une image. Il est ainsi plus simple de partager une application ou un ensemble de services, avec toutes leurs dépendances, entre plusieurs environnements.

    – Docker permet aussi d’automatiser le déploiement des applications (ou d’ensembles de processus combinés qui forment une application) au sein d’un environnement de conteneurs.

    – Ces outils conçus sur des conteneurs Linux (d’où leur convivialité et leur singularité) offrent aux utilisateurs un accès sans précédent aux applications, la capacité d’accélérer le déploiement, ainsi qu’un contrôle des versions et de l’attribution des versions.


    La technologie Docker est-elle la même que celle des conteneurs Linux traditionnels ?


    – Non. À l’origine, la technologie Docker a été créée sur la base de la technologie LXC, que la plupart des utilisateurs associent aux conteneurs Linux « traditionnels », mais elle s’est depuis émancipée.

    – LXC était un outil de virtualisation léger très utile, mais il n’offrait pas une expérience à la hauteur pour les utilisateurs ou les développeurs.

    – La technologie Docker permet non seulement d’exécuter des conteneurs, mais aussi de simplifier leur conception et leur fabrication, l’envoi d’images, le contrôle des versions d’image, etc.

    traditional-linux-containers-vs-docker_0.png

    – Les conteneurs Linux traditionnels utilisent un système init capable de gérer plusieurs processus. Ainsi, des applications entières peuvent s’exécuter comme un bloc.

    – La technologie Docker encourage la décomposition des applications en processus distincts et fournit les outils nécessaires pour y parvenir. Cette approche granulaire présente bien des avantages.


    Les avantages des conteneurs Docker


    Modularité


    – L’approche de Docker en matière de conteneurisation repose sur la décomposition des applications : c’est-à-dire la capacité de réparer ou de mettre à jour une partie d’une application sans devoir désactiver l’ensemble de cette dernière.

    – En plus de cette approche basée sur les microservices, Docker vous permet de partager des processus entre différentes applications quasiment comme vous le feriez avec une architecture orientée services (SOA).


    Couches et contrôle des versions d’image


    – Chaque fichier image Docker est composé d’une série de couches. Ces couches sont assemblées dans une image unique. Chaque modification de l’image engendre la création d’une couche. Chaque fois qu’un utilisateur exécute une commande, comme run ou copy, une nouvelle couche se crée.

    – Docker réutilise ces couches pour la construction de nouveaux conteneurs, accélérant ainsi le processus de construction. Les modifications intermédiaires sont partagées entre les images, ce qui optimise la vitesse, la taille et l’efficacité.

    – Qui dit superposition de couches, dit contrôle des versions. À chaque changement, un journal des modifications est mis à jour afin de vous offrir un contrôle total des images de votre conteneur.


    Restauration


    – La fonction la plus intéressante de la superposition de couches est sans doute la restauration. Chaque image est composée de couches. Aussi, si l’itération actuelle d’une image ne vous convient pas, vous pouvez restaurer la version précédente. —

    – Cette fonction favorise le développement agile et vous aide à mettre en œuvre les pratiques d’intégration et de déploiement continus (CI/CD) au niveau des outils.


    Déploiement rapide


    – Avant, il fallait plusieurs jours pour mettre en place du nouveau matériel, le faire fonctionner, l’approvisionner et le rendre disponible. C’était un processus complexe et fastidieux.

    – Aujourd’hui, avec les conteneurs Docker, vous pouvez effectuer tout cela en quelques secondes seulement. En créant un conteneur pour chaque processus, vous pouvez rapidement partager les processus similaires avec les nouvelles applications.

    – De plus, comme vous n’avez pas besoin de redémarrer le système d’exploitation pour ajouter ou déplacer un conteneur, le délai de déploiement s’en trouve encore réduit.

    – Et ce n’est pas tout. La vitesse du déploiement est telle que vous pouvez vous permettre de créer et de détruire facilement et à moindre coût les données de vos conteneurs, sans aucun problème.

    – Pour résumer, la technologie Docker propose une approche plus granulaire, contrôlable et basée sur des microservices, qui place l’efficacité au cœur de ses objectifs.


    Est-ce que vous êtes toujours là ? Toujours motivé? Alors c’est parti 🙂


    Installation de Docker


    – On update le système Debian:

    apt update
    

    – On installe des prérequis qui va permettre à apt d’utiliser les package en HTTPS:

    apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common lsb-release
    

    – On ajoute la clé GPG du dépôt Docker à APT:

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    

    – On ajoute le dépôt stable à APT:

    echo \
      "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    – On update apt

    apt update
    

    – On installe Docker:

    sudo apt install docker-ce
    sudo apt install docker-ce docker-ce-cli containerd.io
    

    – On vérifie que le démon docker est bien lancé:

    systemctl status docker
    

    Utilisation basique de Docker


    – La syntaxe est la suivante:

    docker [option] [command] [arguments]
    

    – Pour voir toutes les commandes disponibles, taper :

    docker
    
    attach      Attach local standard input, output, and error streams to a running 
    container
    build       Build an image from a Dockerfile
    commit      Create a new image from a container's changes
    cp          Copy files/folders between a container and the local filesystem
    create      Create a new container
    diff        Inspect changes to files or directories on a container's filesystem
    events      Get real time events from the server
    exec        Run a command in a running container
    export      Export a container's filesystem as a tar archive
    history     Show the history of an image
    images      List images
    import      Import the contents from a tarball to create a filesystem image
    info        Display system-wide information
    inspect     Return low-level information on Docker objects
    kill        Kill one or more running containers
    load        Load an image from a tar archive or STDIN
    login       Log in to a Docker registry
    logout      Log out from a Docker registry
    logs        Fetch the logs of a container
    pause       Pause all processes within one or more containers
    port        List port mappings or a specific mapping for the container
    ps          List containers
    pull        Pull an image or a repository from a registry
    push        Push an image or a repository to a registry
    rename      Rename a container
    restart     Restart one or more containers
    rm          Remove one or more containers
    rmi         Remove one or more images
    run         Run a command in a new container
    save        Save one or more images to a tar archive (streamed to STDOUT by 
    default)
    search      Search the Docker Hub for images
    start       Start one or more stopped containers
    stats       Display a live stream of container(s) resource usage statistics
    stop        Stop one or more running containers
    tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
    top         Display the running processes of a container
    unpause     Unpause all processes within one or more containers
    update      Update configuration of one or more containers
    version     Show the Docker version information
    wait        Block until one or more containers stop, then print their exit codes
    

    – Pour voir les options spécifiques à une commande, taper:

    docker docker-subcommand --help
    

    – Pour voir les informations système de Docker :

    docker info
    

    – Affichez l’ensemble des conteneurs existants:

    Quand vous créez/lancez des conteneurs avec l’argument –detach, vous pouvez avoir besoin de savoir si les conteneurs sont toujours actifs, pour cela, vous devez utiliser la commande docker ps.

    docker ps
    
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    e2da0910758b nginx "nginx -g 'daemon of…" 5 seconds ago Up 4 seconds 0.0.0.0:8080->80/tcp awesome_vaughan
    

    – Vous pouvez aussi voir l’ensemble des images présentes en local sur votre ordinateur, avec la commande docker images -a.

    docker images -a
    
    REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
    hello-world   latest    d1165f221234   6 weeks ago   13.3kB
    

    – Nettoyer le système docker:

    Après avoir fait de nombreux tests sur votre ordinateur, vous pouvez avoir besoin de faire un peu de ménage.
    Pour cela, vous pouvez supprimer l’ensemble des ressources manuelles dans Docker.

    rm -rf /var/lib/docker
    rm -rf /var/lib/containerd
    
    • Ou vous pouvez laisser faire Docker pour qu’il fasse lui-même le ménage :
    docker system prune
    
    WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all dangling images
    - all dangling build cache
    Are you sure you want to continue? [y/N] y
    Deleted Containers:
    941b8955b4fd8988fefe2aa91c7eb501f2d4f8c56bf4718fea8ed50904104745
    a96e73c623fb6530ab41db6a82aca7017d54a99590f0b45eb6bf934ef8e4d3ed
    
    Deleted Images:
    deleted: sha256:797a90d1aff81492851a11445989155ace5f87a05379a0fd7342da4c4516663e
    deleted: sha256:c5c8911bd17751bd631ad7ed00203ba2dcb79a64316e14ea95a9edeb735ca3ea
    
    Total reclaimed space: 21.08MB
    

    – Celle-ci va supprimer les données suivantes :

    • L’ensemble des conteneurs Docker qui ne sont pas en status running ;
    • L’ensemble des réseaux créés par Docker qui ne sont pas utilisés par au moins un conteneur ;
    • L’ensemble des images Docker non utilisées ;
    • L’ensemble des caches utilisés pour la création d’images Docker.

    Désinstaller Docker


    apt-get purge docker-ce docker-ce-cli containerd.io
    
    Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and volumes:
    
     sudo rm -rf /var/lib/docker
     sudo rm -rf /var/lib/containerd
    You must delete any edited configuration files manually.
    

    Travailler avec Docker


    – On vérifie que l’installation est correcte en lançant l’image docker hello-world.
    – Si elle est présente en locale, Docker la lance sinon il la télécharge puis la lance

    docker run hello-world
    
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    b8dfde127a29: Pull complete 
    Digest: sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be work**g correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    

    – On peux chercher un conteneur de la manière suivante:

    docker search nomdupackage
    
    docker search medusa
    
    NAME                                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    linuxserver/medusa                             A Medusa container, brought to you by LinuxS…   74                   
    pymedusa/medusa                                Automatic Video Library Manager for TV Shows.   24                   [OK]
    lsioarmhf/medusa                               ARMHF based Linuxserver.io image of medusa      8                    
    k8ssandra/medusa-operator                                                                      2                    
    lsioarmhf/medusa-aarch64                       ARM64 based Linuxserver.io image of medusa      1                    
    k8ssandra/medusa                                                                               1                    
    bobbysteel/medusa                              ** Please switch to pymedusa/medusa for auto…   1                    
    misasa/medusa                                  A stonegazer who keeps track specimen, box, …   0                    
    ....
    

    – Pour télécharger un conteneur:

    docker pull nomduconteneur
    docker pull pymedusa/medusa
    

    – Après le téléchargement, on peux lancer le conteneur avec la commande run comme:

    docker run hello-world
    

    – Lister les conteneurs téléchargés:
    –> Ici, le conteneur hello-world qui se lance et qui s’arrête après un message de test.

    docker images -a
    
    REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
    hello-world   latest    d1165f221234   6 weeks ago   13.3kB
    

    – Les conteneurs peuvent être plus utile que cela et peuvent être interactif
    Cela veux dire qu’une fois lancé, ils sont similaires à une machine virtuelle.

    – On peux lancer un conteneur de manière interactive de la manière suivante:

    • La combinaison de -i et -t donne l’acçès à un Shell interactif à l’intérieur du conteneur.
    docker run -it ubuntu
    

    – Le prompt change pour montrer le fait qu’on est à l’intérieur du conteneur et prends la forme suivante:

    Output
    root@d9b100f2f636:/#
    

    – A noter que l’ID du conteneur est présent dans le prompt (d9b100f2f636).
    Il sera important de le connaitre pour pouvoir le supprimer si besoin.

    – On peux maintenant utiliser des commandes à l’intérieur de ce conteneur

    – On peux aussi lancer un conteneur l’option -d

    • -d pour détacher le conteneur du processus principal de la console.
      Il vous permet de continuer à utiliser la console pendant que votre conteneur tourne sur un autre processus

    – On pourrait donc avoir besoin de “rentrer” dans votre conteneur Docker pour pouvoir y effectuer des actions.
    –> Pour cela, on devra utiliser la commande :

    docker exec -ti ID_RETOURNÉ_LORS_DU_DOCKER_RUN bash
    

    Dans cette commande, l’argument -ti permet d’avoir un Shell bash pleinement opérationnel.

    – Lister les conteneurs actifs:

    docker ps
    
    Output
    CONTAINER ID        IMAGE               COMMAND             CREATED
    

    – Lister les conteneurs actifs & inactifs:

    docker ps -a
    
    Output
    CONTAINER ID        IMAGE               COMMAND             CREATED          STATUS                      PORTS               NAMES
    d42d0bbfbd35        ubuntu              "/bin/bash"         About a minute ago   Exited (0) 20 seconds ago                       friendly_volhard
    0740844d024c        hello-world         "/hello"            3 minutes ago        Exited (0) 3 minutes ago                        elegant_neumann
    

    – Lister le dernier conteneur créé:

    docker ps -l
    
    Output
    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMES
    d42d0bbfbd35        ubuntu              "/bin/bash"         About a minute ago   Exited (0) 34 se
    

    – Démarrer un conteneur:

    docker start CONTAINER ID
    docker start d42d0bbfbd35
    

    – Le conteneur démarrer et on peux vérifier sons statuts:

    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
    d42d0bbfbd35        ubuntu              "/bin/bash"         About a minute ago   Up 8 seconds
    

    – Arrêter un conteneur:

    docker stop CONTAINER ID
    docker stop NAMES
    docker stop d42d0bbfbd35
    docker stop friendly_volhard
    

    – Supprimer un conteneur:

    docker rm CONTAINER ID
    docker rm NAMES
    docker rm elegant_neumann 
    docker rm d42d0bbfbd35
    

    – Redémarrer un conteneur:

    docker container restart NAME ID
    docker container restart CONTAINER ID
    docker container restart medusa
    

    – Supprimer une image:

    docker rmi IMAGE ID
    docker rmi NAMES
    docker rmi elegant_neumann 
    docker rmi d42d0bbfbd35
    

    – Copier un fichier d’un conteneur vers le host.

    docker cp <containerId>:/file/path/within/container /host/path/target
    
    $ sudo docker cp goofy_roentgen:/out_read.jpg .
    

    Ici goofy_roentgen est le nom du conteneur container obtenu avec la commande suivante:

    docker ps
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                            NAMES
    1b4ad9311e93        bamos/openface      "/bin/bash"         33 minutes ago      Up 33 minutes       0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp   goofy_roentgen
    

    – Vous pouvez aussi utiliser l’ID du conteneur:

    docker cp 1b4a:/out_read.jpg .
    

    Sources


    – https://www.redhat.com/fr/topics/containers/what-is-docker

    V:\> █░░ PR4IS3 TH3 C0D3 ░░█ ✌(◕‿-)✌
    ╚═ Admin, Dev et auteur de la plupart des bugs de PW…

    ░░░▒▒▒▓▒▒▒░░░
    ░░░░░░▓░░░░░░
    ▒▒▒▒▓▓▓▓▓▒▒▒▒
    ░░░░░░▓░░░░░░

    1 réponse Dernière réponse
    1






©2025 planete-warez.net
L'actualité Warez & underground en continu
Icône café Faire un don
Politique   RGPD  @dev  Sudonix
    • Se connecter

    • Vous n'avez pas de compte ? S'inscrire

    • Connectez-vous ou inscrivez-vous pour faire une recherche.
    • Premier message
      Dernier message
    0
    • Catégories
      • Toutes les catégories
      • Planète Warez
        Présentations
        Aide & Commentaires
        Réglement & Annonces
        Tutoriels
      • IPTV
        Généraliste
        Box
        Applications
        VPN
      • Torrent & P2P
      • Direct Download et Streaming
      • Autour du Warez
      • High-tech : Support IT
        Windows, Linux, MacOS & autres OS
        Matériel & Hardware
        Logiciel & Software
        Smartphones & Tablettes
        Graphismes
        Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
        Tutoriels informatiques
      • Culture
        Actualités High-Tech
        Cinéma & Séries
        Sciences
        Musique
        Jeux Vidéo
      • Humour & Insolite
      • Discussions générales
      • Espace détente
      • Les cas désespérés
    • Récent
    • Populaire
    • Résolu
    • Non résolu