-
|
I'm trying to migrate from Portainer to Komodo, and since I use Docker Swarm for some of my servers I had to upgrade to 2.0.0-dev-102. After some minor fixing, I noticed one of my Actions is now broken and I don't know if it's a misconfiguration or a bug. I have a service deployed as a stack through Komodo and now running within the swarm, while before it ran as a simple compose. However, when I try to run a command with
which may be since the swarm has a manager and a worker node and now it doesn't know in which server has to run? I had a look around the Swarm settings, and everything seems fine. It detects both nodes and get all the container and services info from both of them. Any help? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
It's because swarm actually has no equivalent "docker compose exec" functionality like Server based Stacks do. Just like the docker stack command don't support environment files etc. its because Services in swarm do not equal containers, what if a service had many replicas, what container do you exec into? Please note this is docker level stuff and Komodo still lets you build the abstraction yourself already. You could make an Komodo action which queries for the swarm services, finds the associated tasks to get container ids, and does the execute_container_terminal using this (this method accepts both container id or name, id easier to get here) |
Beta Was this translation helpful? Give feedback.
It's because swarm actually has no equivalent "docker compose exec" functionality like Server based Stacks do. Just like the docker stack command don't support environment files etc. its because Services in swarm do not equal containers, what if a service had many replicas, what container do you exec into?
Please note this is docker level stuff and Komodo still lets you build the abstraction yourself already.
You could make an Komodo action which queries for the swarm services, finds the associated tasks to get container ids, and does the execute_container_terminal using this (this method accepts both container id or name, id easier to get here)