要在Docker中正确暴露Angular应用程序的端口,您需要在Dockerfile中设置适当的端口映射,并确保应用程序在容器中绑定到正确的端口。以下是一个解决方法的代码示例:
Dockerfile:
# 使用官方的 Node.js 镜像作为基础镜像
FROM node:14-alpine
# 设置工作目录
WORKDIR /app
# 将 package.json 和 package-lock.json 复制到容器中
COPY package*.json ./
# 安装依赖
RUN npm install
# 复制整个项目到容器中
COPY . .
# 构建 Angular 应用
RUN npm run build
# 暴露容器的端口
EXPOSE 80
# 运行 Angular 应用
CMD ["npm", "run", "start"]
然后,您可以使用以下命令构建和运行 Docker 容器:
# 构建镜像
docker build -t angular-app .
# 运行容器并将容器的端口映射到主机上的端口
docker run -p 8080:80 angular-app
这将将容器的80端口映射到主机上的8080端口。您可以根据需要将主机端口更改为所需的端口。
请确保将上述Dockerfile中的npm run build
和npm run start
命令替换为适用于您的Angular应用程序的实际构建和启动命令。