将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