我是Docker的新手,我试图在Docker容器上运行Angular应用程序,该应用程序向在另一个Docker容器上运行的API发出服务请求
它们都在同一网络上运行,如您所见,我可以从一个容器ping到另一个容器。
当我在本地端口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
答案 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。