端口3000和4200上没有安装任何东西,我也停止了所有容器以防万一。 当我做docker-compose时我得到了这个错误
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上的端口上启动但是我的后端没有,而不是记录它会抛出上面提到的错误。
我的应用结构如下所示。
~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"]
角度
的DockerfileFROM 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 app的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"]
答案 0 :(得分:0)
tries < 100000
指令的正确语法是:
EXPOSE
只需更改您要使用的泊坞窗文件:
EXPOSE <port> [<port>/<protocol>...]
和
EXPOSE 4200
答案 1 :(得分:0)
检查在backgroupd“docker ps -a”中运行的任何容器并杀死该容器并搜索运行端口3000的pid 并且您可能在代码中使用多个端口,例如“console.log('侦听3000')”“不确定。