Nolyurn
Nolyurn

Reputation: 608

How to use docker python SDK in swarm context?

In order to use command like :

client.nodes

We need to run python code on a machine which is a manager inside a swarm. But how i'm suppose to launch the python program ?

There is nothing to install python on the docker machine, and i don't think it's a good idea to try to proceed like that.

And if you launch python in a container you're not in a swarm context.

The only way i found was to launch the python program in Docker Quickstart Terminal of Windows and make the 'default' machine manager in the Swarm.

But now i need to do it on an Ubuntu, so i can't use this solution.

(if there is an equivalent of Docker Quickstart Terminal, i'm interested in)

Upvotes: 1

Views: 1003

Answers (1)

Nolyurn
Nolyurn

Reputation: 608

I finally found the solution using the socket of docker daemon from one of manager node .

Inside your docker-compose, create a service for your Python and add the following volume :

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

Don't forget to add a constraint in order to make your service run only on manager node.

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

Upvotes: 1

Related Questions