我正在使用jwilder/nginx-proxy:alpine
图片来创建容器。这是链接nginx-proxy。
docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock.ro --name nginx \ jwilder/nginx-proxy:alpine
我已经成功创建了正在运行的容器。 然后,我启动我的容器代理环境变量
docker run \
-d \
--entrypoint /docker-entrypoint.sh \
-e VIRTUAL_HOST=xyz.mydomain.info \ //running app on xyz.mydomain.info,but
not working.
-e VIRTUAL_PORT=8000 //what does it mean?
--name server \
image_name
名为server
的容器已启动并正在运行。
问题1 :我是否需要打开ec2安全组中的任何端口 运行应用程序?
问题2 :我可以看到应用程序在xyz.mydomain.info
上运行。
问题3 :virtual_port在这里有什么用?在我的Dockerfile中,容器的EXPOSE
在端口8000上。
答案 0 :(得分:1)
问题1:我是否需要打开ec2安全组中的任何端口才能运行该应用程序?
只有80或443,具体取决于您使用的是哪一个。休息全部将在机器内部工作
问题2:我可以看到应用程序在xyz.mydomain.info上运行
通过将该域的DNS条目指向您的服务器,或者在您的OS主机文件中创建主机条目(用于测试目的)
问题3:virtual_port在这里有什么用?在我的Dockerfile中容器的端口8000上的EXPOSE。
nginx-proxy
需要了解它应该代理哪个端口传递给容器内的流量。默认情况下,它接受暴露的端口。如果有多个,您可以使用VIRTUAL_PORT