首页 > 解决方案 > Angular 9 和 docker 为什么 docker 只返回 doc 文件夹而不是构建应用程序?

问题描述

我正在尝试将我的 Angular 9 应用程序的图像上传到Docker hub. 我的 Visual Studio 代码中已经安装了 docker 扩展,我将它连接到我的用户名并添加了我的帐户密码。

然后,我运行以下命令来全局安装 docker:

npm install -g docker

在我的项目的根路径中,我创建Dockerfile了以下脚本:

# Stage 1
FROM node:latest as node
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod

# Stage 2
FROM nginx:alpine
COPY --from=node /app/dist/myproject /usr/share/nginx/html

然后我尝试了:

FROM 13.13.0-alpine3.10 as build-step
WORKDIR /app
COPY package*.json /app/
RUN npm install
COPY . /app/
RUN npm run build

FROM nginx:1.17.10-alpine as prod-step
COPY --from=build-step /app/dist/myproject /usr/share/nginx/html
# COPY /dist/myproject /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

然后我尝试使用以下方法构建我的应用程序:

docker build --rm -f "Dockerfile" -t myproject:latest "."

而且我得到了以下响应,而不是构建应用程序:

将文件树保存到 doc-filelist.js

将 JS 复制到 doc-script.js

将 CSS 编译为 doc-style.css

并且doc已经创建了一个文件夹。但没有做其他任何事情。

我在堆栈溢出上尝试了这个解决方案docker.js,但我不认为这是我想要构建一个 docker 映像并上传到 docker hub 并从那里运行它的解决方案。

标签: angulardockerdockerfile

解决方案


您没有使用该 npm 命令安装所需的 Docker 引擎。这是安装 Docker 引擎的方式:https ://docs.docker.com/engine/install 。之后,您可以尝试构建您的 Dockerfile。

此外,您的图像名称似乎错误:FROM 13.13.0-alpine3.10. 看起来您正在尝试在这里引用节点图像?应该是:FROM node:13.13.0-alpine3.10


推荐阅读