如何将托管在 aws 上的 dockerized 应用程序从端口 3000 映射到根 url?
How do I map a dockerized application hosted on aws from port 3000 to the root url?
我目前正在使用 docker-machine 通过 port:3000 为 mern 应用提供服务。
一切正常 - 但是我的应用程序在 my-ip:3000 上运行。我不希望用户必须导航到 myurl.com:3000。从 my-ip/ 而不是 my-ip:3000 访问应用程序的最简单解决方案是什么。我在 aws 上使用 ec2 和 route53。
docker-machine create --driver amazonec2 <my-app>
刚刚创建名为 my-app 的 EC2 VM。
假设 EC2 VM 是您的 docker 命令的默认 docker 主机;最简单的方法是将主机端口绑定到容器端口,如下所示 docker run -p 80:3000 image-name
当您 运行 您的容器时。
或者(稍微复杂一些),您可以托管一个 NGINX 容器来侦听端口 80 并代理到您在端口 3000 上的应用,例如
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_pass http://my-app:3000;
}
}
我目前正在使用 docker-machine 通过 port:3000 为 mern 应用提供服务。
一切正常 - 但是我的应用程序在 my-ip:3000 上运行。我不希望用户必须导航到 myurl.com:3000。从 my-ip/ 而不是 my-ip:3000 访问应用程序的最简单解决方案是什么。我在 aws 上使用 ec2 和 route53。
docker-machine create --driver amazonec2 <my-app>
刚刚创建名为 my-app 的 EC2 VM。
假设 EC2 VM 是您的 docker 命令的默认 docker 主机;最简单的方法是将主机端口绑定到容器端口,如下所示 docker run -p 80:3000 image-name
当您 运行 您的容器时。
或者(稍微复杂一些),您可以托管一个 NGINX 容器来侦听端口 80 并代理到您在端口 3000 上的应用,例如
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
proxy_pass http://my-app:3000;
}
}