链接和主机名docker compose
我在docker compose文件中定义了两个服务,并希望将服务名称映射到主机条目,以便将数据发送到mongo db服务中的端点,例如在我的主机上链接和主机名docker compose,docker,docker-compose,Docker,Docker Compose,我在docker compose文件中定义了两个服务,并希望将服务名称映射到主机条目,以便将数据发送到mongo db服务中的端点,例如在我的主机上 127.0.0.1 dotcomtest.net 如果我有一个名为web的服务和一个名为echo chamber的服务,我如何在我的web容器(或docker compose文件)中设置主机文件,以便向该端点发送请求,即http://dotcomtest.net/query_string? 谢谢当它们都在同一个网络上运行时,这是可能的。所以最好将
127.0.0.1 dotcomtest.net
如果我有一个名为web
的服务和一个名为echo chamber
的服务,我如何在我的web容器(或docker compose文件)中设置主机文件,以便向该端点发送请求,即http://dotcomtest.net/query_string?
谢谢当它们都在同一个网络上运行时,这是可能的。所以最好将它们都放在一个
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>
root@cabf18b17f34:/#apt更新和apt安装-y curl
root@cabf18b17f34:/#卷曲http://dotcomtest.net
欢迎来到nginx!
身体{
宽度:35em;
保证金:0自动;
字体系列:Tahoma、Verdana、Arial、无衬线字体;
}
欢迎来到nginx!
如果您看到此页面,则nginx web服务器已成功安装,并且
工作需要进一步配置
有关在线文档和支持,请参阅
.
商业支持可从以下网址获得:
感谢您使用nginx
正如您所见,我的nginx1容器可以访问nginx2,这在它们都在同一网络上运行时是可能的。所以最好将它们都放在一个
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>
root@cabf18b17f34:/#apt更新和apt安装-y curl
root@cabf18b17f34:/#卷曲http://dotcomtest.net
欢迎来到nginx!
身体{
宽度:35em;
保证金:0自动;
字体系列:Tahoma、Verdana、Arial、无衬线字体;
}
欢迎来到nginx!
如果您看到此页面,则nginx web服务器已成功安装,并且
工作需要进一步配置
有关在线文档和支持,请参阅
.
商业支持可从以下网址获得:
感谢您使用nginx
正如您所看到的,我的nginx1容器可以访问nginx2您的意思是希望容器与主机上的dotcomtest.net联系吗?你在使用哪个操作系统?是的(我想是的),虽然我认为这两个容器可以说是在它们自己的网络上,所以我认为这将是两个容器之间的通信。我正在使用Macose。您的意思是希望容器与主机上的dotcomtest.net联系吗?你在使用哪个操作系统?是的(我想是的),虽然我认为这两个容器可以说是在它们自己的网络上,所以我认为这将是两个容器之间的通信。我用的是MacOSthats很棒,看起来一切都很好:-)虽然不是100%了解它的工作原理,而且在docksIn
docker compose
中找不到网络别名,这相当于docker network create
,您的每个容器都会自动与该网络关联。现在可以为这些网络指定别名和名称。当两个容器在同一网络中运行时,它们可以使用它们的名称进行寻址,在我们的例子中,这是服务名称nginx1
和nginx2
,这很好,看起来一切都正常:-)虽然不是100%了解它的工作原理,而且在docksIndocker compose
中找不到网络别名,您会得到一个默认网络,相当于docker network create
,并且您的每个容器都会自动与该网络关联。现在可以为这些网络指定别名和名称。当两个容器在同一网络中运行时,它们可以使用它们的名称进行寻址,在我们的例子中,这是服务名称nginx1
和nginx2