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')” 。