2017-05-22 2 views
1

Pour utiliser la commande comme:Comment utiliser docker python SDK dans un contexte d'essaimage?

client.nodes 

Nous avons besoin d'exécuter du code python sur une machine qui est un gestionnaire intérieur d'un essaim. Mais comment je suis supposé lancer le programme python?

Il n'y a rien pour installer Python sur le docker, et je ne pense pas que ce soit une bonne idée d'essayer de procéder comme ça. Et si vous lancez python dans un conteneur, vous n'êtes pas dans un contexte d'essaimage. La seule façon que j'ai trouvé était de lancer le programme python dans Docker Quickstart Terminal de Windows et de faire le gestionnaire de machines par défaut dans le Swarm.

Mais maintenant je dois le faire sur un Ubuntu, donc je ne peux pas utiliser cette solution.

(s'il existe un équivalent de Docker Quickstart Terminal, je suis intéressé par)

Répondre

0

j'ai finalement trouvé la solution en utilisant la prise du démon docker de l'un des noeuds de gestionnaire.

l'intérieur de votre docker-composiez, un service pour votre Python et ajoutez le volume suivant:

volumes: 
    - /var/run/docker.sock:/var/run/docker.sock 

Ne pas oublier d'ajouter une contrainte afin de rendre votre service uniquement sur le noeud de gestionnaire.

deploy: 
    mode: replicated 
    replicas: 1 
    placement: 
    constraints: 
     - node.role == manager