我在docker-compose文件中定义了两个服务,我希望将服务名称映射到hosts条目,以便我可以将数据发送到mongo db服务中的端点,例如我的主机上有< / p>
127.0.0.1 dotcomtest.net
如果我有一个名为web
的服务和一个名为echo-chamber
的服务,我如何在我的Web容器(或docker compose文件)中设置我的hosts文件,以便我可以向其发送请求终点,即http://dotcomtest.net/query_string?
由于
答案 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