通过以下步骤创建了一个简单的angular2应用程序:
npm install -g angular-cli
ng new demo2 (If packages are not getting installed go to demo2 folder and
execute npm install)
ng server
Navigate to localhost:4200(app works!!!!)
角度代码没有任何变化!!!!
在应用程序的根目录中添加了一个Dockerfile和.dockerignore 这是我的Dockerfile文件内容:
FROM nginx
COPY dist /usr/share/nginx/html
EXPOSE 82
创建了图像和容器,并能够通过以下步骤在本地运行该应用程序:
ng build --prod
docker build -t angulardockertest:v1 .
docker images
docker run -p 82:80 -it angulardockertest:v1
Navigate to localhost:82 (app works!!!!)
下一步,我将图像推送到Azure容器注册表,并通过以下步骤从中创建一个容器实例(端口号为82):
docker login pocdockerregistry.azurecr.io
docker tag angulardockertest:v1 pocdockerregistry.azurecr.io/angulardockertest:v1
docker push pocdockerregistry.azurecr.io/angulardockertest:v1
现在,当我尝试访问它(ipaddress:port#)时,出现以下错误: 无法访问此站点。拒绝连接。
有人可以帮助我解决我想念/做错的事情吗?
答案 0 :(得分:0)
首先使用curl localhost:port
检查应用程序在azure服务器上是否运行正常。
如果上述方法可行,则要从本地系统访问,请检查是否已为azure服务器系统分配了公共IP,并使用http协议打开了防火墙端口。
答案 1 :(得分:0)
您实际上运行过“ az container create”命令来在Azure中创建容器吗?
我在docker中运行的node.js服务器应用程序面临类似的问题。如果将其部署到Azure App Service,则可以访问,但是如果将其部署到Azure容器实例,则无法通过组织的网络访问它。即使禁用防火墙后,我也无法访问它。 Curl也无法访问它。
它仅在我的组织网络之外起作用,因此我需要与IT部门联系。如果您尝试从组织的网络或公共网络访问它,可以共享吗?
我已与Microsoft支持人员联系,并且无法从我的组织网络访问它们正在运行的示例ACI应用程序,因此这不是应用程序问题。
此外,尝试将其作为Dockerfile中的启动命令:
ng serve --host 0.0.0.0