如何在 docker 容器中使用 gulp,以便前端构建过程在容器中进行?
How can I use gulp in a docker container, so the front-end build process takes place in a container?
我已经用docker-compose搭建了一个开发环境。我使用 gulp 来管理我的前端构建过程,它仍然在主机上运行,而不是在容器上运行。我怎样才能在 docker 容器中处理 运行 这个问题?
这是针对开发环境的。
所以我做了一些类似于你想要实现的事情(我正在构建一个 MERN 堆栈类型)应用程序构建我的客户端(通常 运行ning 在主机上)然后在构建之后复制它到我的 node/express 服务器创建图像...
因此,您可以创建一个 Docker 文件来执行此操作,然后将其绑定到您的 Docker-Compose?我假设您只想在设定阶段构建?
我有 yarn 构建的地方基本上就是你想要的地方 运行 gulp......
FROM node:10 as build-deps
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY client/package.json ./
RUN yarn
COPY client ./
RUN yarn build
FROM node:10
RUN mkdir -p /usr/src/app/client
COPY --from=build-deps /usr/src/app/build /usr/src/app/client
COPY server/. /usr/src/app
WORKDIR /usr/src/app
RUN npm install
WORKDIR /usr/src/app
EXPOSE 3050
CMD ["node", "index.js"]
这不是个好主意。你不应该在容器中有你的开发依赖。你应该在你的构建奴隶上进行构建(使用 Jenkins 或其他东西),然后将生成的构建文件复制到 Docker 网络服务器容器中,该容器将为它们提供服务。
看这里 - https://medium.com/@DenysVuika/your-angular-apps-as-docker-containers-471f570a7f2
我已经用docker-compose搭建了一个开发环境。我使用 gulp 来管理我的前端构建过程,它仍然在主机上运行,而不是在容器上运行。我怎样才能在 docker 容器中处理 运行 这个问题?
这是针对开发环境的。
所以我做了一些类似于你想要实现的事情(我正在构建一个 MERN 堆栈类型)应用程序构建我的客户端(通常 运行ning 在主机上)然后在构建之后复制它到我的 node/express 服务器创建图像... 因此,您可以创建一个 Docker 文件来执行此操作,然后将其绑定到您的 Docker-Compose?我假设您只想在设定阶段构建?
我有 yarn 构建的地方基本上就是你想要的地方 运行 gulp......
FROM node:10 as build-deps
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY client/package.json ./
RUN yarn
COPY client ./
RUN yarn build
FROM node:10
RUN mkdir -p /usr/src/app/client
COPY --from=build-deps /usr/src/app/build /usr/src/app/client
COPY server/. /usr/src/app
WORKDIR /usr/src/app
RUN npm install
WORKDIR /usr/src/app
EXPOSE 3050
CMD ["node", "index.js"]
这不是个好主意。你不应该在容器中有你的开发依赖。你应该在你的构建奴隶上进行构建(使用 Jenkins 或其他东西),然后将生成的构建文件复制到 Docker 网络服务器容器中,该容器将为它们提供服务。
看这里 - https://medium.com/@DenysVuika/your-angular-apps-as-docker-containers-471f570a7f2