Docker错误:无法启动服务angular度,听听已经在使用中的tcp 0.0.0.0:4200

没有什么安装在端口3000和4200,我也停止所有的容器以防万一。 当我做docker – 组成我得到这个错误

ERROR: for angular Cannot start service angular: driver failed programming external connectivity on endpoint leapmotionreal_angular_1 (fd6858f87fb4db419407ae981758fdc8cdaa72d654db9b5aff91ccc8f6c4d1c8): Error starting userland proxy: listen tcp 0.0.0.0:4200: bind: address already in use 

而前端是开始在4200端口,但我的后端doesnt,而不是logging它抛出上面提到的错误。

我的应用程序结构如下所示。

 ~root all angular files here in root Server folder with node js files > Dockerfile.yml(for node) docker-compose.yml Dockerfile.yml 

泊坞窗,compose.yml

 version: '3.0' services: angular: build: context: ./ dockerfile: Dockerfile ports: ["4200:4200"] express: build: context: ./Server/ dockerfile: ./Server/Dockerfile ports: ["3000:3000"] 

Dockerfile的angular度

 FROM node RUN mkdir -p /usr/src/app/client WORKDIR /usr/src/app/client COPY package.json /usr/src/app/client RUN npm cache verify && npm install COPY . /usr/src/app/client EXPOSE 4200:4200 CMD ["ng","serve"] 

节点js应用程序的Dockerfile(我的服务器文件夹)

 FROM node RUN mkdir -p /usr/src/app/server WORKDIR /usr/src/app/server COPY package.json /usr/src/app/server RUN npm cache verify && npm install COPY . /usr/src/app/server EXPOSE 3000:3000 CMD ["npm","start"] 

EXPOSE指令的正确语法是:

 EXPOSE <port> [<port>/<protocol>...] 

只需更改您的docker文件即可使用:

 EXPOSE 4200 

 EXPOSE 3000 

检查在backgroupd“docker ps -a”中运行的任何容器,并终止该容器,并search运行3000端口的pid,并且可能会在代码中使用多个端口,如“console.log('3000')” 。