我已经使用docker-compose建立了一个开发环境。我使用gulp来管理前端构建过程,该过程仍在主机而不是容器上运行。我该如何在docker容器中运行它呢?
这是针对开发环境的。
答案 0 :(得分:0)
所以我做的事情类似于您要实现的(我正在构建一个MERN堆栈类型)应用程序,该应用程序构建我的客户端(通常在主机上运行),然后在构建后将其复制到我的节点/表达服务器上创建图像... 因此,您可以创建一个Dockerfile来执行此操作,然后将其绑定到Docker-Compose中?我假设您只想在设定的阶段进行构建?
从本质上讲,我生产纱线的地方就是您要吞咽的地方……
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"]
答案 1 :(得分:0)
这不是一个好主意。您不应在容器中拥有开发依赖项。您应该在构建从属服务器上进行构建(使用Jenkins或其他工具),然后将生成的构建文件复制到将为它们提供服务的Docker Web服务器容器中。
看这里-https://medium.com/@DenysVuika/your-angular-apps-as-docker-containers-471f570a7f2