Forum Linux.debian/ubuntu Debuts avec Docker

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
20
juin
2015

Bonjour à tous,
Je viens de lire des tutos sur Docker et me suis décidé à l'installer et faire des tests! je voudrais savoir s'il est possible de :
- créer un utilisateur X dans le container AX sur la machine Zelda, et se connecter en SSH à partir de l'IP de zelda avec les parametres de X directement dans AX en pensant être dans zelda et faire pareil avec plusieurs container
- Faire ecouter plusieurs containers avec un Lamp sur le port 80

  • # Debuts avec Docker

    Posté par  . Évalué à 1.

    Bonjour,

    Il est tout à fait possible de se connecter en ssh depuis l’extérieure de la machine hote.

    Il faut en faite ouvrir le port ssh du container en le lient avec le port de l’hôte.

    Tu peut regarder ici pour plus d'information.

  • # Possible mais pas trop dans l'esprit

    Posté par  (site web personnel) . Évalué à 3. Dernière modification le 21 juin 2015 à 15:03.

    C'est possible de faire tourner un SSHD dans un container en plus du programme principal mais ce n'est pas trop dans l'esprit de docker. Si tu cherches à faire tourner plusieurs services dans un container tu auras un jour ou l'autre besoin d'une supervision efficace des processus, gérer les logs etc. et tu vas finalement te retrouver avec des containers très complexes et un faible avantage par rapport à une exécution native.

    L'approche classique consiste au contraire à n'avoir qu'un seul service dans le container. Si tu as besoin d'un shell dans le container tu peux tout simplement l’exécuter avec

    docker exec -t -i CONTAINER-ID su -
    

    ou bien

    docker exec -t -i CONTAINER-ID /bin/sh
    

    ou bien …

    Je préfère beaucoup l'approche des jails de FreeBSD à celle de docker la différence principale est que l'environnement virtualisé d'une jail est entièrement visible depuis l'environnement hébergeant les environnements virtualisés.

    • [^] # Re: Possible mais pas trop dans l'esprit

      Posté par  (site web personnel) . Évalué à 1.

      Un deuxième (petit) problème est celui des ports, si tu veux accéder à tes containers directement par ssh tu dois assigner un port de l'hôte à chaque container ­— et probablement un à l'hôte lui-même!

    • [^] # Re: Possible mais pas trop dans l'esprit

      Posté par  . Évalué à 1.

      je comprend de moins en moins l'utilité du docker!
      Je voulais donner un espace à un ami développeur sans qu'il puisse tout bidouiller sur mon serveur! si j'ai bien compris, il me faudra rediriger le ssh du container vers celui de ma machine pourque ça marche!
      la question qui me vient à l'esprit c'est qu'adviendra t-il si j'essaye de me connecter avec mon login? la connexion devrait normalement se faire sur le container où mes accès n'existent pas!

      • [^] # Re: Possible mais pas trop dans l'esprit

        Posté par  (site web personnel) . Évalué à 2.

        Je voulais donner un espace à un ami développeur sans qu'il puisse tout bidouiller sur mon serveur!

        C'est possible mais ce n'est pas vraiment l'application typique de docker qui est plutôt pensé pour encapsuler un service qu'un serveur. Typiquement un serveur héberge plusieurs containers qui rendent des services différents. Dans ma pratique – je fais de l'intégration continue entre autres – je pense à une image docker comme à une unité de déploiement. Ma chaîne de production a pour mission de produire plusieurs images docker que je vais déployer sur un cluster. Peu m'importe quels membres du cluster vont effectivement héberger mes containers.

        Le point hyper important de docker est que les containers sont en principe coincés sur une boucle réseau virtuelle, que tu peux bridger port à port avec une interface de l'hôte. Grosse différence avec les FreeBSD Jails ou Virtual Box avec lesquels tu peux donner une adresse IP à une interface de ton unité de virtualisation.

        Si tu veux fournir un environnement virtualisé à un ami, le plus simple est soit de lui construire un jail FreeBSD ou de lui préparer une Virtual Box. Virtual Box n'est – soit disant – pas super rapide, mais si tu ne t'en sers pour une charge légère, les performances sont largement suffisantes, Sinon les fournisseurs de cloud proposent souvent des packages gratuit la première année. :)

        Qu'est-ce que tu veux faire exactement? Lui fournir un environnement pour apprendre à travailler sur un serveur?

        • [^] # Re: Possible mais pas trop dans l'esprit

          Posté par  . Évalué à 1.

          Merci pour la réponse Michael! c'est tout à fait celà, je voulais lui donner un environnement propre à lui!

          • [^] # Re: Possible mais pas trop dans l'esprit

            Posté par  . Évalué à 2.

            note que meme dans le cas d'une "machine virtuelle"
            tu auras besoin d'une IP specifique pour la machine virtuelle, et de la monter en PONT/BRIDGE sur la carte reseau (acces direct à ton reseau) ou en NAT (sur un reseau privé virtuel, avec une translation d'adresse entre public/privé)

            • [^] # Re: Possible mais pas trop dans l'esprit

              Posté par  (site web personnel) . Évalué à 3.

              Entre Docker et la machine virtuelle, il est toujours possible de fournir un LXC. Cela peut permettre de faire tourner un environnement dédié beaucoup plus léger qu'une machine virtuelle.
              Ensuite alors que tu te connectes sur le port 22 par exemple, tu peux lui proposer de se connecter sur le port 2222 ou 2223, …

              A bientôt,

  • # déployer facilement un soft

    Posté par  (site web personnel) . Évalué à 2.

    Pour moi docker permet surtout cela.

    Un exemple, installer le soft Windows Captvty sous Linux, ça se fait, il faut installer wine, des libs avec winetricks…

    ou tu fais tout en une ligne, en lançant une image docker, qui vient avec tout ce qu'il faut

    http://forum.ubuntu-fr.org/viewtopic.php?id=1809831

    ウィズコロナ

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.