docker - 从群管理器运行 docker exec

标签 docker docker-swarm

我有两个工作节点:worker1 和 worker2 以及一个集群管理器。我只在工作节点中运行所有服务。我需要从管理器 docker exec 运行以访问在工作节点中创建的一些容器,但我不断发现该服务无法识别。我知道我可以在任何工作节点中运行 docker exec 并且它工作正常,但我不想找到服务正在运行的节点,然后 ssh 到指定的节点以运行 docker exec 命令。有没有办法在 swarm 中这样做?

最佳答案

Swarm 模式目前无法在正在运行的任务上运行 exec。您需要找到容器并在主机上运行 exec。您可以将工作人员配置为拥有一个受 TLS 保护的端口来监听,这将为您提供远程访问(参见 docker's guide)。您可以通过检查 docker service ps $service_name 的输出来查找服务中每个任务的节点。

关于docker - 从群管理器运行 docker exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44638869/

相关文章:

docker - 部署 docker-compose 容器

docker - Docker 容器能否在 Windows IoT Core 中运行

Docker 服务禁用内存交换

docker - 无需停机即可更新服务中的图像

amazon-web-services - 将AWS Lambda函数转换为容器

docker - CircleCI - Docker 登录和私有(private)环境变量

java - Docker:客户端未连接到 Eureka 服务器

docker - 连接两个 docker 容器

docker - 多台主机上的Hyperledger作曲器

docker - 如何批准/标记Docker镜像以进行测试,登台和制作