有没有办法从容器中知道服务名称(swarm)?

假设我已经在Swarm中启动了这样一个服务:

docker service create --replicas 1 --name helloworld busybox bash 

有什么方法可以知道将要运行的容器是由一个叫做“helloworld”的服务来控制的吗?

你不能。 容器不知道他们正在遇到的当前架构。 那很好。

如果您告诉容器如何devise其托pipe体系结构,然后从容器内部依靠它,您将立即失去使用Swarm的所有模块化和可扩展性。

不过,你可能需要为你的容器configuration一些东西。 我会build议使用环境variables,并通过你需要的信息。

 docker service create --replicas 1 --name helloworld -e SERVICE=helloworld busybox bash