我有兩個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