Comment faire pour exécuter mon script python sur docker?
Je suis en train de lancer mon script python sur docker. J'ai essayé différentes manières de le faire, mais pas en mesure de l'exécuter sur docker. Mon script python est donnée ci-dessous:
import os
print ('hello')
Je avez déjà installé docker sur mon mac. Mais je veux savoir comment je peut faire des images puis de les transmettre à docker après que j'ai envie de tirer et d'exécuter mon script sur le panneau lui-même.
OriginalL'auteur Pulkit | 2017-11-09
Vous devez vous connecter pour publier un commentaire.
Bien, tout d'abord créer un projet spécifique répertoire de votre panneau de l'image. Par exemple:
Copie de votre dockerfile de script et de là-bas et changer de contexte à ce répertoire.
C'est pour les meilleures pratiques, comme la première chose que le menu fixe-moteur à construire, lire tout le contexte actuel.
Ensuite, nous allons jeter un oeil à votre dockerfile. Il devrait ressembler à ceci maintenant:
La prochaine chose que vous devez faire est de construire avec un smart nom. À l'aide de points est généralement disencouraged.
Prochaine chose est de simplement exécuter l'image comme vous l'avez fait.
Le script exécuté à l'intérieur de le conteneur et sera probablement quitter à la fin.
Modifier après avoir trouvé le problème qui a créé le message d'erreur suivant:
"standard_init_linux.go:195: exec user process caused "exec format error"
Il y a une architecture différente sous raspberry pi (BRAS au lieu de x86_64), qui PEUT avoir ÉTÉ le problème, mais ne l'était pas. Si ça aurait été le problème, un commutateur de l'image parent à
FROM armhf/python
aurait été suffisant.Source
MAIS! L'erreur gardé produit.
Donc la solution à ce problème est un simple manque de Sha-Bang sur le haut du script python. La première ligne du script doit être
#!/usr/bin/env python
et cela devrait résoudre le problème.Source
Je suis très désolé, je dois passer des annuaires... Essayez
/usr/local/bin
toujours pas de travail
Bon, créer un répertoire dans votre dockerfile, où vous pouvez mettre le script et j'espère avoir l'autorisation d'exécuter lol. Je vais mettre à jour le dockerfile dans ma réponse pour vous aider à
lol de nouveau la même question.
OriginalL'auteur samprog
Vous avez besoin pour créer un dockerfile dans le répertoire de votre script.
Vous pouvez prendre ce modèle:
Puis exécutez simplement
docker build -t pulkit/scriptname:1.0 .
et votre image doit être créée.Votre image doit être visible sous
docker images
. Si vous voulez l'exécuter sur votre ordinateur local, utilisezdocker run
.Si vous souhaitez télécharger pour le DockerHub, vous devez vous connecter à l'DockerHub avec
docker login
, puis télécharger l'image avecdocker push
.Il suffit de le mettre quelque part, où la
PATH
variable peut atteindre, de sorte que votre script peut obtenir exécutéj'obtiens cette erreur quand je lance mon menu fixe : container_linux.aller:295: à partir conteneur processus a entraîné "exec: \"capturing.py\": fichier exécutable ne trouve pas dans $PATH"
Où avez-vous mis votre script? Vérifiez si le répertoire est dans le
PATH
variable ou de modifier leCMD
instruction à utiliser le chemin complet du script.mon docker fichier et script est dans le même répertoire. et je suis en cours d'exécution docker dans ce répertoire seulement.
OriginalL'auteur samprog