我的Angular应用程序的容器无法与Docker上的API容器通信

时间:2018-12-27 18:59:51

标签: angular docker vert.x

我是Docker的新手,我试图在Docker容器上运行Angular应用程序,该应用程序向在另一个Docker容器上运行的API发出服务请求

它们都在同一网络上运行,如您所见,我可以从一个容器ping到另一个容器。

Ping from angular container to API container

当我在本地端口3000上公开该服务时,我可以看到该服务正在运行

Browser accessing localhost:3000

但是当我的Angular应用程序调用服务时,请求超时并给我这个错误:

  

获取http://172.69.69.1:8080/网:: ERR_CONNECTION_TIMED_OUT

我在angular应用程序上的Dockerfile看起来像这样:

['12/Dec/2015:18:25:11 +0100', '12/Dec/2015:18:25:11 +0100', '12/Dec/2015:18:31:08 +0100', '12/Dec/2015:18:31:08 +0100', '12/Dec/2015:18:31:25 +0100']
['109.169.248.247', '109.169.248.247', '46.72.177.4', '46.72.177.4', '83.167.113.100']

我用来运行API的命令是

 FROM node:8

 WORKDIR /usr/src/app

 COPY package.json /usr/src/app/package.json
 RUN npm install
 RUN npm install -g @angular/cli@6.1.5

 COPY . /usr/src/app

 CMD ng serve

我用于申请的那个是

 docker run --name hello-service --ip 172.69.69.1 -p 3000:8000 --network mtsds_test hello-service

我已在Angular应用程序上运行此服务

docker run -it -v /usr/src/app -v /usr/src/app/node_modules -p 4200:4200 --rm --network mtsds_test angular_mtsds

1 个答案:

答案 0 :(得分:0)

关于您的docker-run命令,我不知道8080端口来自何处:

docker run --name hello-service --ip 172.69.69.1 -p 3000:8000 --network mtsds_test hello-service

然后,您应该使用公开的端口8000或已发布的端口3000,而不要使用8080。