我正在构建一个具有分离前端的应用程序(Angular 4 - 来自Angular CLI)和后端应用程序(Asp.Net Core Preview 2.0) .
我尝试使用Docker . 一切正常但我需要手动将后端应用程序发布到$ {source:-obj / Docker / publish} . 可以实现自动化吗?例如,将发布代码放入Dockerfile或docker compose?
这是我的后端应用程序的Dockerfile:
FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "Api.dll"]
这是我的前端应用程序的Dockerfile:
FROM node:7
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
EXPOSE 4200
CMD ["npm", "start"]
这是我的docker-compose:
version: '3.3'
services:
api:
image: api
build:
context: ./Api
dockerfile: Dockerfile
frontend:
image: frontend
build:
context: ./FrontEnd
dockerfile: Dockerfile
提前致谢 .
1 回答
如果您使用Visual Studio . 为后端项目添加docker支持 . 然后将docker-compose项目设置为启动项目 . 当您构建解决方案时,它将在docker-compose.ci.build.yml上运行docker compose,它将为您完成所有工作 . 如果要发布图像,请更改构建以再次发布和构建 .