将docker容器的生成名称传递给docker-compose中的另一个容器

在docker-compose中生成容器名称。 我需要把这个名字传给另外一个容器,这样可以build立连接。

我的scheme是,我想创build一个基于docker容器的容器并与主机通信,在同级容器中执行一些内容作为其中的第二个进程。

那么我怎样才能在另一个容器的名称?

docker-compose 1.6.1和docker-compose issue 2829中添加networking范围的别名会很容易。

--alias 

选项可用于通过连接到的networking中的其他名称来parsing容器。

这意味着只要稍后另一个容器以networking范围别名“x”开始,您的第一个容器就可以假设容器“x”的存在。

没有办法传递容器名称。 您最好的select是使用COMPOSE_PROJECT_NAME设置项目名称,并将其传递到具有以下environment: - COMPOSE_PROJECT_NAME=的容器environment: - COMPOSE_PROJECT_NAME=

然后,您可以使用<project name>_<service name>_1来预测容器名称。

另一种select是从docker-compose events事件stream。 这应该提供所有你需要的信息。

你需要链接它们。 至less从你的解释来说,你需要什么。

下面的例子。

 rabbitmq: container_name: rabbitmq image: million12/rabbitmq:latest restart: always ports: - "5672:5672" - "15672:15672" environment: - RABBITMQ_PASS=my_pass haproxy: container_name: haproxy image: million12/haproxy restart: always command: -n 1 ports: - "80:80" links: - rabbitmq:rabbitmq.server volumes: - /etc/haproxy:/etc/haproxy 

现在这两个容器是连接的,可以相互连接。

您可以从haproxy ping rabbitmq容器:

ping rabbitmq.server