run docker exec from swarm manager

前端 未结 2 1992
挽巷
挽巷 2020-12-20 18:25

I have two worker nodes: worker1 and worker2 and one swarm manager. I\'m running all the services in the worker nodes only. I need to run from the manager docker exec to acc

相关标签:
2条回答
  • 2020-12-20 18:55

    Swarm mode does not currently have a way to run an exec on a running task. You need to find the container and run the exec on the host. You can configure the workers to have a TLS protected port they listen on, which would give you remote access (see docker's guide). And you can lookup the node for each task in a service by checking the output of a docker service ps $service_name.

    0 讨论(0)
  • 2020-12-20 18:55

    If this helps, nowadays you can create the overlay network with --attachable flag to enable any container to join the network. This is great feature as it allows a lot of flexibility.

    E.g.

    $ docker network create --attachable --driver overlay my-network
    $ docker service create --network my-network --name web --publish 80:80 nginx
    $ docker run --network=my-network -ti alpine sh
    $ wget -qO- web
    
    <!DOCTYPE html>
    <html>
    <head>
    ....
    
    0 讨论(0)
提交回复
热议问题