CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

A quoi sert docker?

Hamster_Trader
Hamster_Trader
Niveau 7
16 avril 2022 à 17:56:20

Depuis quelque temps je creuse pas mal autour des différents thème de la programmation et je vois régulièrement docker apparaitre. J'ai regardé un peu ce que c'était et au final, je ne comprend pas l'utilité des conteneurs. Quelqu'un peut m'expliquer?

godrik
godrik
Niveau 30
16 avril 2022 à 18:21:16

Basiquement, ca permet de deployer un logiciel avec son environment. Tu peux penser docker comme une machine virtuelle legere. Ou comme un paquet .deb avec plus de fonctionnalite.

Pseudo supprimé
Pseudo supprimé 17 avril 2022 à 19:13:16

Certains services sont plus efficients avec tel OS, et certains OS sont plus légers que d'autres.
Les conteneurs ça permet de rationaliser ton environnement, pour maximiser le ratio vitesse/mémoire du service.

Message édité le 17 avril 2022 à 19:13:34 par Pseudo supprimé
Elilalilalulu
Elilalilalulu
Niveau 7
17 avril 2022 à 19:22:27

Le 17 avril 2022 à 19:13:16 :
Certains services sont plus efficients avec tel OS, et certains OS sont plus légers que d'autres.
Les conteneurs ça permet de rationaliser ton environnement, pour maximiser le ratio vitesse/mémoire du service.

Bonjour. Non.

shittynickname
shittynickname
Niveau 27
17 avril 2022 à 19:47:47

Je suis pas devops mais en tant qu'ingé j'utilise docker tous les jours. Je suis spécialisé en IA, quand je développe une IA, il y a tout un écosystème dont l'IA a besoin pour tourner, certaines librairies pour l'entraîner, la benchmark et la déployer. Le truc c'est que ces librairies ont des spécificités propres à leurs versions et au hardware. Par exemple, en python on peut imaginer que la façon dont 2 versions de la même librairie fera un traitement qui sera différent ou encore, vu que l'IA sera déployée avec CUDA côté hardware, il faut que de mon côté et du côté déploiement, niveau software on se comprenne, quitte à créer deux environement pour 2 devices différents utilisant le même code, par exemple sur pc c'est le plus facile d'installer des libraires. Sur de l'embarqué pas trop léger pas contre, on ira voir du côté de L4T pour les jetson de chez nvidia par exemple. Pour ça : docker.

Je fais un dockerfile, donc en gros je prends un environement que je pense comme étant assez léger et compatible avec ce que je veux développer, j'y ajoute ce qui manque ou je supprime ce qui me gène, je l'envoie aux ingés qui s'occupent du déploiement et ils me disent si c'est ok ou non, dès que j'ai le feu vert, je peux m'occuper de mes affaires sans me soucier du fait que par exemple, ma libraire a une version différente de la leur et donc, que le truc que je viens de développer va prendre un temps de dingue à adapter à leur environement. Tu peux faire beaucoup plus de trucs avec docker mais si tu as pas l'ambition de devenir devops, je pense que mon use case se rapproche de la majorité des utilisateurs de docker et encore une fois je suis pas un pro de docker, tu peux faire beaucoup de choses avec.

Aussi, imaginons que tu développes pas d'IA mais une application, tu peux utiliser docker (je pense surtout à docker compose) et 'isoler' chaque partie de ton app en termes de dépendances, par exemple, l'environement nécessaire pour faire tourner une base de données est différente de l'environement nécessaire pour faire tourner nodejs, et donc au final, surtout si tu bosses avec des gens, personne n'est perdu en terme de gestion de dépendances et d'environement. Et là tu oublies les messages style "Ok, alors j'ai pull ton code, mais quand je le lance j'ai marqué 'npm est pas installé'" ou encore "j'utilise python2.7, ton code marche pas mdr".

Message édité le 17 avril 2022 à 19:49:50 par shittynickname
Quentaing
Quentaing
Niveau 6
17 avril 2022 à 21:04:26

À titre perso, je développe deux trois applis assez simple et je les héberge sur mon VPS. (serveur linux)

En gros, je crée mon dockerfile (code pour créer le container) et je le teste sur mon PC local. Si ça marche, je le récupère sur mon VPS, je le lance et voilà.

Moi, j'y vois deux avantages :

  • SI ça marche sur ma machine locale, ça marchera sur mon serveur : Imagine que tu fais ton appli sous Windows et qu'après tu la déploie sur linux et que tu te rend compte qu'elle ne marche pas. Avec docker aucun pb de compatibilité.
  • C'est plus facile à gérer : mes containers rebootent automatiquement si le serveur crash, je peux les stops et les run plus facilement qu'avec d'autres outils que j'avais essayés.
Pseudo supprimé
Pseudo supprimé 17 avril 2022 à 21:29:49

Le 17 avril 2022 à 19:47:47 :
Je suis pas devops mais en tant qu'ingé j'utilise docker tous les jours. Je suis spécialisé en IA, quand je développe une IA, il y a tout un écosystème dont l'IA a besoin pour tourner, certaines librairies pour l'entraîner, la benchmark et la déployer. Le truc c'est que ces librairies ont des spécificités propres à leurs versions et au hardware. Par exemple, en python on peut imaginer que la façon dont 2 versions de la même librairie fera un traitement qui sera différent ou encore, vu que l'IA sera déployée avec CUDA côté hardware, il faut que de mon côté et du côté déploiement, niveau software on se comprenne, quitte à créer deux environement pour 2 devices différents utilisant le même code, par exemple sur pc c'est le plus facile d'installer des libraires. Sur de l'embarqué pas trop léger pas contre, on ira voir du côté de L4T pour les jetson de chez nvidia par exemple. Pour ça : docker.

Je fais un dockerfile, donc en gros je prends un environement que je pense comme étant assez léger et compatible avec ce que je veux développer, j'y ajoute ce qui manque ou je supprime ce qui me gène, je l'envoie aux ingés qui s'occupent du déploiement et ils me disent si c'est ok ou non, dès que j'ai le feu vert, je peux m'occuper de mes affaires sans me soucier du fait que par exemple, ma libraire a une version différente de la leur et donc, que le truc que je viens de développer va prendre un temps de dingue à adapter à leur environement. Tu peux faire beaucoup plus de trucs avec docker mais si tu as pas l'ambition de devenir devops, je pense que mon use case se rapproche de la majorité des utilisateurs de docker et encore une fois je suis pas un pro de docker, tu peux faire beaucoup de choses avec.

Aussi, imaginons que tu développes pas d'IA mais une application, tu peux utiliser docker (je pense surtout à docker compose) et 'isoler' chaque partie de ton app en termes de dépendances, par exemple, l'environement nécessaire pour faire tourner une base de données est différente de l'environement nécessaire pour faire tourner nodejs, et donc au final, surtout si tu bosses avec des gens, personne n'est perdu en terme de gestion de dépendances et d'environement. Et là tu oublies les messages style "Ok, alors j'ai pull ton code, mais quand je le lance j'ai marqué 'npm est pas installé'" ou encore "j'utilise python2.7, ton code marche pas mdr".

En gros ça sert à isoler des environnements optimaux pour chaque application ?

Elilalilalulu
Elilalilalulu
Niveau 7
17 avril 2022 à 21:54:18

Le 17 avril 2022 à 21:29:49 :

Le 17 avril 2022 à 19:47:47 :
Je suis pas devops mais en tant qu'ingé j'utilise docker tous les jours. Je suis spécialisé en IA, quand je développe une IA, il y a tout un écosystème dont l'IA a besoin pour tourner, certaines librairies pour l'entraîner, la benchmark et la déployer. Le truc c'est que ces librairies ont des spécificités propres à leurs versions et au hardware. Par exemple, en python on peut imaginer que la façon dont 2 versions de la même librairie fera un traitement qui sera différent ou encore, vu que l'IA sera déployée avec CUDA côté hardware, il faut que de mon côté et du côté déploiement, niveau software on se comprenne, quitte à créer deux environement pour 2 devices différents utilisant le même code, par exemple sur pc c'est le plus facile d'installer des libraires. Sur de l'embarqué pas trop léger pas contre, on ira voir du côté de L4T pour les jetson de chez nvidia par exemple. Pour ça : docker.

Je fais un dockerfile, donc en gros je prends un environement que je pense comme étant assez léger et compatible avec ce que je veux développer, j'y ajoute ce qui manque ou je supprime ce qui me gène, je l'envoie aux ingés qui s'occupent du déploiement et ils me disent si c'est ok ou non, dès que j'ai le feu vert, je peux m'occuper de mes affaires sans me soucier du fait que par exemple, ma libraire a une version différente de la leur et donc, que le truc que je viens de développer va prendre un temps de dingue à adapter à leur environement. Tu peux faire beaucoup plus de trucs avec docker mais si tu as pas l'ambition de devenir devops, je pense que mon use case se rapproche de la majorité des utilisateurs de docker et encore une fois je suis pas un pro de docker, tu peux faire beaucoup de choses avec.

Aussi, imaginons que tu développes pas d'IA mais une application, tu peux utiliser docker (je pense surtout à docker compose) et 'isoler' chaque partie de ton app en termes de dépendances, par exemple, l'environement nécessaire pour faire tourner une base de données est différente de l'environement nécessaire pour faire tourner nodejs, et donc au final, surtout si tu bosses avec des gens, personne n'est perdu en terme de gestion de dépendances et d'environement. Et là tu oublies les messages style "Ok, alors j'ai pull ton code, mais quand je le lance j'ai marqué 'npm est pas installé'" ou encore "j'utilise python2.7, ton code marche pas mdr".

En gros ça sert à isoler des environnements optimaux pour chaque application ?

non ça sert à définir les dépendances de ton service

godrik
godrik
Niveau 30
17 avril 2022 à 22:49:49

non, pas seulement les dependance, mais l'environnement aussi. Parceque tu peux mettre les fichiers de configuration et specifier els connection entre different service dans un deployement particulier.

Pseudo supprimé
Pseudo supprimé 17 avril 2022 à 23:35:37

Le 17 avril 2022 à 22:49:49 :
non, pas seulement les dependance, mais l'environnement aussi. Parceque tu peux mettre les fichiers de configuration et specifier els connection entre different service dans un deployement particulier.

L'environnement ça fait partie des dépendances :(

godrik
godrik
Niveau 30
18 avril 2022 à 00:38:27

Le 17 avril 2022 à 23:35:37 :

Le 17 avril 2022 à 22:49:49 :
non, pas seulement les dependance, mais l'environnement aussi. Parceque tu peux mettre les fichiers de configuration et specifier els connection entre different service dans un deployement particulier.

L'environnement ça fait partie des dépendances :(

Les fichiers de configurations font parti des dependances? Les autres services systeme qui tournent et comment ils sont configure font aussi parti des dependances?
Dans un sens abstrait, peut etre. Mais dans le sens commun en developpement, certainement pas.

ReggaeBird
ReggaeBird
Niveau 10
21 avril 2022 à 07:23:11

[21:54:18] <Elilalilalulu>

Le 17 avril 2022 à 21:29:49 :

Le 17 avril 2022 à 19:47:47 :
Je suis pas devops mais en tant qu'ingé j'utilise docker tous les jours. Je suis spécialisé en IA, quand je développe une IA, il y a tout un écosystème dont l'IA a besoin pour tourner, certaines librairies pour l'entraîner, la benchmark et la déployer. Le truc c'est que ces librairies ont des spécificités propres à leurs versions et au hardware. Par exemple, en python on peut imaginer que la façon dont 2 versions de la même librairie fera un traitement qui sera différent ou encore, vu que l'IA sera déployée avec CUDA côté hardware, il faut que de mon côté et du côté déploiement, niveau software on se comprenne, quitte à créer deux environement pour 2 devices différents utilisant le même code, par exemple sur pc c'est le plus facile d'installer des libraires. Sur de l'embarqué pas trop léger pas contre, on ira voir du côté de L4T pour les jetson de chez nvidia par exemple. Pour ça : docker.

Je fais un dockerfile, donc en gros je prends un environement que je pense comme étant assez léger et compatible avec ce que je veux développer, j'y ajoute ce qui manque ou je supprime ce qui me gène, je l'envoie aux ingés qui s'occupent du déploiement et ils me disent si c'est ok ou non, dès que j'ai le feu vert, je peux m'occuper de mes affaires sans me soucier du fait que par exemple, ma libraire a une version différente de la leur et donc, que le truc que je viens de développer va prendre un temps de dingue à adapter à leur environement. Tu peux faire beaucoup plus de trucs avec docker mais si tu as pas l'ambition de devenir devops, je pense que mon use case se rapproche de la majorité des utilisateurs de docker et encore une fois je suis pas un pro de docker, tu peux faire beaucoup de choses avec.

Aussi, imaginons que tu développes pas d'IA mais une application, tu peux utiliser docker (je pense surtout à docker compose) et 'isoler' chaque partie de ton app en termes de dépendances, par exemple, l'environement nécessaire pour faire tourner une base de données est différente de l'environement nécessaire pour faire tourner nodejs, et donc au final, surtout si tu bosses avec des gens, personne n'est perdu en terme de gestion de dépendances et d'environement. Et là tu oublies les messages style "Ok, alors j'ai pull ton code, mais quand je le lance j'ai marqué 'npm est pas installé'" ou encore "j'utilise python2.7, ton code marche pas mdr".

En gros ça sert à isoler des environnements optimaux pour chaque application ?

non ça sert à définir les dépendances de ton service

Pas vraiment. C'est une nécessité de les définir pour utiliser ton service dans un conteneur docker.

Ça permet surtout de répliquer (scalabilite) ton service tout en maîtrisant ses interfaces et donc son isolement du reste du logiciel.

Tu peux aussi faire tourner ton service chez un cloud provider sans trop te soucier des spécificités de ses machines.

boucif
boucif
Niveau 24
21 avril 2022 à 13:05:29

Le 17 avril 2022 à 21:04:26 :
À titre perso, je développe deux trois applis assez simple et je les héberge sur mon VPS. (serveur linux)

En gros, je crée mon dockerfile (code pour créer le container) et je le teste sur mon PC local. Si ça marche, je le récupère sur mon VPS, je le lance et voilà.

Moi, j'y vois deux avantages :

  • SI ça marche sur ma machine locale, ça marchera sur mon serveur : Imagine que tu fais ton appli sous Windows et qu'après tu la déploie sur linux et que tu te rend compte qu'elle ne marche pas. Avec docker aucun pb de compatibilité.
  • C'est plus facile à gérer : mes containers rebootent automatiquement si le serveur crash, je peux les stops et les run plus facilement qu'avec d'autres outils que j'avais essayés.

dans les faits c'est comme ça, dans la réalité des fois tu as des surprises :rire:

Quentaing
Quentaing
Niveau 6
21 avril 2022 à 21:14:02

Le 21 avril 2022 à 13:05:29 :

Le 17 avril 2022 à 21:04:26 :
À titre perso, je développe deux trois applis assez simple et je les héberge sur mon VPS. (serveur linux)

En gros, je crée mon dockerfile (code pour créer le container) et je le teste sur mon PC local. Si ça marche, je le récupère sur mon VPS, je le lance et voilà.

Moi, j'y vois deux avantages :

  • SI ça marche sur ma machine locale, ça marchera sur mon serveur : Imagine que tu fais ton appli sous Windows et qu'après tu la déploie sur linux et que tu te rend compte qu'elle ne marche pas. Avec docker aucun pb de compatibilité.
  • C'est plus facile à gérer : mes containers rebootent automatiquement si le serveur crash, je peux les stops et les run plus facilement qu'avec d'autres outils que j'avais essayés.

dans les faits c'est comme ça, dans la réalité des fois tu as des surprises :rire:

Je débute avec, stp laisse moi rêver un peu :rire:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware