Open seaswalker opened 3 years ago
Dockerfile:
FROM maven:3.6.3-openjdk-8 RUN apt-get update RUN apt-get install -y tree RUN mkdir -p /var/log/xxx-service RUN mkdir -p /opt/xxx-service ENV ENTERPRISE_WECHAT_LIBRARY_PATH /opt/xxx-service/sdk COPY xxx-service/ /opt/xxx-service WORKDIR /opt/xxx-service ENTRYPOINT ["mvn", "test", "-Dtest=com.github.com#testGetMediaFile"] # ENTRYPOINT ["env"] # ENTRYPOINT ["tree", "/opt/xxx-service/sdk"]
对于maven,一个很麻烦的是配置文件和仓库(在docker里面可能需要下载很多依赖,导致单元测试启动非常慢)。此时可以将本地的maven仓库挂载到docker镜像:
docker run -p 8080:8080 -v /Users/xxx/data:/data -v /Users/xxx/.m2:/root/.m2 -e TZ=Asia/Shanghai xxx/service-unittest:v1
另外注意Dockerfile里面的copy命令是不能拷贝上层目录的,即: ../../dir这种,所以必须要使被拷贝的路径处于和Dockerfile平级或更低的位置。
../../dir
Dockerfile:
对于maven,一个很麻烦的是配置文件和仓库(在docker里面可能需要下载很多依赖,导致单元测试启动非常慢)。此时可以将本地的maven仓库挂载到docker镜像:
另外注意Dockerfile里面的copy命令是不能拷贝上层目录的,即:
../../dir
这种,所以必须要使被拷贝的路径处于和Dockerfile平级或更低的位置。