0
votes

Comment monter un conteneur de docker afin que je puisse exécuter des scripts python, qui sont stockés à l'intérieur du conteneur

J'utilise un Docker Image (pas le mien ) Créé via ce DockerFile .

ROS KINETIC, ROS2 et certains forfaits importants sont déjà installés sur cette image. Lorsque j'exécute l'image Docker avec Docker Run -it ROS KINETIC fonctionne bien et les paquets, comme la salle de gym, peuvent être trouvés par Python3. Donc, tout dans l'image Docker est un excellent point de départ pour mon propre projet.

Cependant, je voudrais changer les scripts Python, qui sont stockés sur l'image Docker. Les scripts Python utilisent les paquets installés et interagissent avec des ros kinétiques ainsi que de ROS2.

Je ne veux pas installer sur mon système Ubuntu tous ces programmes et packages déjà installés sur l'image Docker afin de tester mes propres scripts Python.

Y a-t-il un moyen de monter l'image Docker afin que je puisse tester mes scripts Python? Bien sûr, je peux utiliser Vim pour éditer des scripts Python, mais je pense plus à Intellij.

Ainsi, comment peut-on accéder à une IDE (E.G. Intellij) et d'exécuter un script Python, qui est stocké sur l'image Docker, avec le même résultat que j'exécuterais ce script directement sur le conteneur en cours d'exécution.

La méthode de Lord Johar, montage du docker, modifiez les scripts avec une IDE, enregistrez l'image, puis pour exécuter l'image, fonctionne, mais n'est pas ce que je voudrais atteindre.

Mon objectif est d'utiliser le conteneur Docker comme environnement de développement sur lequel un IDE a accès à et peut utiliser les programmes et les packages installés.

En d'autres termes: J'aimerais utiliser une IDE sur mon système hôte afin de tester mes scripts Python de la même manière que l'IDE serait installé sur l'image Docker.


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser docker commettre

  1. Utilisez cette commande Docker commettre .
  2. Maintenant Type Docker Images Pour voir l'image.
  3. Vous devez renommer et tag image comme cette commande docker tag mython: v1
  4. Utilisez la commande Docker Exécuter, puis profitez de votre code. Il est préférable de monter un volume à votre conteneur pour persister votre code et vos données Volume Docker .

0 commentaires

0
votes

Cependant, je voudrais changer les scripts Python, qui sont stockés sur l'image Docker. Les scripts Python utilisent les paquets installés et interagissent avec des ros kinétiques ainsi que de ROS2. P>

  1. Vous devez monter le volume sur votre docker et modifier votre fichier. LI>
  2. meilleur moyen est de faire votre image Installez Docker sur votre Ubuntu, tirez l'image Python, utilisez DockerFile pour créer votre image, chaque fois que vous modifiez votre code Construire une nouvelle image par nouvelle étiquette puis exécutez l'image et profitez du conteneur Docker Li> ol>

    dans la deuxième manière p>

    1. Copiez votre application Python sur / chemin / à / votre / votre / application (mon fichier principal est index.py) li>
    2. changez votre annuaire en / chemin / vers / VOTRE / APP LI>
    3. Créer un fichier avec nom dockerfile code>: p>

      docker run --name python-app -p 5000:5000 my-app
      
    4. Construisez votre image. P>

      docker build --tag my-app .
      
    5. Vous pouvez maintenant exécuter votre conteneur p> XXX PRE> LI> ol> blockQuote>


4 commentaires

Bonjour Seigneur Johar, merci pour votre réponse. Malheureusement, vous n'avez pas répondu à ma question. Je voudrais accéder aux scripts Python, qui sont stockés dans une image Docker, avec une IDE sur mon système hôte, comme Intellij et gèrent ces scripts.


Si votre conteneur dispose de volume de montage, vous avez accès à vos scripts. Et si vous ne montez pas de volume, vous n'avez pas accès.


Je suis désolé, je ne comprends pas ce que vous voulez dire et comment cela devrait m'aider.


Docker a une option qui peut persister la date de conteneur Docker pour accueillir la machine. Si vous souhaitez avoir accès à Docker Date, vous devez ajouter (monter) volume à Docker. Dans la deuxième manière, j'explique tout ce dont vous avez besoin, votre IDE comme Intellij ou Pycham et etc peut se connecter à votre machine hôte et que votre machine se connecte à votre conteneur Docker, vous pouvez donc modifier votre code à l'intérieur du conteneur.



0
votes

Ce que vous cherchez est un outillage qui peut communiquer avec un démon local ou distant Docker.

Je sais que l'éclipse peut faire cela. L'outillage pour cela s'appelle Docker Outillage . Il peut explorer des images et des conteneurs Docker sur une machine exécutant un démon Docker dans votre réseau. Il peut démarrer et arrêter des conteneurs, commettre des conteneurs vers des images et créer des images.

Ce dont vous avez besoin (si je comprends) est la capacité de commettre des conteneurs, car vous demandez de changer de scripts dans votre conteneur. Si vous aimez persister votre travail sur ces conteneurs Docker, l'engagement est indispensable.

Depuis que je ne suis pas familier avec Intellij, je suggère de jeter un coup d'œil sur le Wiki de Docker d'Eclipse pour obtenir un indice s'il s'agit de ce que vous recherchez. Et puis après avoir eu une idée, recherchez des analogies dans votre IDE préféré comme Intellij .

Un autre IDE qui prend en charge Docker Exploring est Clion


0 commentaires