链接和主机名码头构成

时间:2017-08-10 13:31:22

标签: docker docker-compose

我在docker-compose文件中定义了两个服务,我希望将服务名称映射到hosts条目,以便我可以将数据发送到mongo db服务中的端点,例如我的主机上有< / p>

127.0.0.1 dotcomtest.net

如果我有一个名为web的服务和一个名为echo-chamber的服务,我如何在我的Web容器(或docker compose文件)中设置我的hosts文件,以便我可以向其发送请求终点,即http://dotcomtest.net/query_string?

由于

1 个答案:

答案 0 :(得分:1)

当它们都在同一网络上运行时,这是可能的。最好将它们放在docker-compose文件中

version: '3'
services:
  nginx1:
    image: nginx
    ports:
      - "8082:80"
  nginx2:
    image: nginx
    ports:
      - "8081:80"
    networks:
      default:
        aliases:
          - dotcomtest.net

当我打开这个作品并使用

转到nginx1容器时
docker-compose exec nginx1 bash

执行以下命令

root@cabf18b17f34:/# apt update && apt install -y curl
root@cabf18b17f34:/# curl http://dotcomtest.net
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

如您所见,我的nginx1容器可以访问nginx2