Docker可以为多个容器端口绑定不同的主机端口,要为多个站点绑定不同域名访问的话可以使用Nginx反向代理。
首先在域名管理器中设置 DNS 记录,将域名指向服务器的 IP 地址。
然后通过Nginx反向代理实现Docker容器的多个域名绑定到同一个80端口。
在Docker中创建多个容器,并将它们分别绑定到不同的端口(比如8080、8081等)。
安装Nginx并配置反向代理。在Nginx的配置文件中,添加多个server块,每个块对应一个域名,并将其代理到相应的Docker容器端口上。
示例Nginx配置:
server {
listen 80;
server_name example1.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name example2.com;
location / {
proxy_pass http://localhost:8081;
}
}
在这个例子中,Nginx监听80端口,并将来自example1.com的请求代理到容器的8080端口,将来自example2.com的请求代理到容器的8081端口。
启动Nginx服务并测试多域名绑定。
注意,如果您使用的是Docker Compose,可以将Nginx容器添加到Compose文件中,并在文件中配置端口和反向代理。