我有两个worker节点:worker1和worker2以及一个swarm manager。我只在工作节点中运行所有服务。我需要从经理docker exec运行以访问在工作节点中创建的一些容器,但我一直得知该服务无法识别。我知道我可以在任何工作节点上运行docker exec,并且它工作正常,但我不想找到服务运行在哪个节点上,然后ssh到指定节点运行docker exec命令。是否有办法在群体中这样做?从swarm manager运行docker exec
2
A
回答
6
Swarm模式目前没有办法在正在运行的任务上运行exec。你需要找到容器并在主机上运行exec。您可以将工作人员配置为拥有他们监听的TLS保护端口,这将为您提供远程访问(请参阅docker's guide)。您可以通过检查docker service ps $service_name
的输出来查找服务中每个任务的节点。
1
如果这有帮助,现在您可以使用--attachable
标志创建覆盖网络,以启用任何容器加入网络。这是一个很棒的功能,因为它具有很大的灵活性。
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>
....
相关问题
- 1. Docker swarm manager pending status
- 2. Docker swarm-manager显示旧容器信息
- 3. “swarm master”和“swarm manager”有什么区别?
- 4. Docker Swarm模式 - 码头运行的等效docker命令-it ubuntu
- 5. 使用Marathon在Docker Swarm上运行Docker容器?
- 6. Docker Swarm链接
- 7. Docker Swarm Overlay VIP
- 8. Docker swarm NFS卷,
- 9. Docker Swarm - 等效docker命令
- 10. docker-compose swarm没有docker-machine
- 11. 如何在swarm管理器所在的机器上运行docker swarm节点?
- 12. Docker with Compose和Swarm
- 13. Docker Swarm共享卷
- 14. Docker Swarm筏一致
- 15. Docker Swarm JDBC连接
- 16. Ceph上的Docker Swarm
- 17. 使用docker-machine进行安装Swarm
- 18. 从Azure fails中的Cloud创建Docker Swarm
- 19. 如何自动将已停用的Docker Swarm Manager替换为至少有x个管理器正在运行?
- 20. 使用UPC管理Swarm运行群集的docker环境
- 21. Docker swarm只能在容器运行的节点上访问
- 22. 使用exec从Docker容器上的主机运行脚本
- 23. Docker Swarm + Docker撰写:在不同的节点上运行链接的容器?
- 24. docker swarm的负载均衡
- 25. Docker Swarm的文件存储
- 26. Docker swarm,Consul和Spring Boot
- 27. 集群Docker Swarm主机
- 28. Docker Swarm和私有IP
- 29. Force Docker Swarm容器分发
- 30. 从PHP EXEC运行的LibreOffice()
也许你想添加注释,这个功能已经被两个问题追踪:[github.com - MOBY/MOBY - 码头工人服务的exec(https://github.com/moby/moby/issues/ 27552) 和[github.com - docker/swarmkit - 支持执行任务](https://github.com/docker/swarmkit/issues/1895) – Murmel