0

通过以下步骤创建了一个简单的 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#)时,我收到以下错误:无法访问此站点。拒绝连接。

有人可以帮我解决我错过了什么/做错了吗?

4

2 回答 2

0

您是否真的运行了“az container create”命令来在 Azure 中创建容器?

我在 docker 内运行的 node.js 服务器应用程序也面临类似的问题。如果我将它部署到 Azure 应用服务,它是可以访问的,但是如果我将它部署到 Azure 容器实例,我将无法通过我组织的网络访问它。即使禁用了防火墙,我也无法访问它。Curl 也无法访问它。

它仅适用于我组织的网络之外,因此我需要与 IT 部门交谈。如果您尝试从组织的网络或公共网络访问它,您可以分享吗?

我与 Microsoft 支持人员进行了交谈,他们正在运行的示例 ACI 应用程序也无法从我的组织网络访问,因此这不是应用程序问题。

另外,试试这个作为 Dockerfile 中的启动命令:

ng serve --host 0.0.0.0
于 2018-08-13T06:09:03.513 回答
0

首先使用 . 检查应用程序是否在 azure 服务器上运行正常curl localhost:port
如果上述工作正常,要从本地系统访问,请检查您是否为 azure 服务器系统分配了公共 IP,并使用 http 协议打开防火墙端口。

于 2018-07-20T05:50:12.697 回答