Docker:在/ opt / my-service / db文件夹

时间:2017-08-21 16:59:41

标签: java tomcat docker dockerfile

我正在尝试将需要mmdb文件(maxmind db文件格式)的服务停靠在特定位置 / opt / my-service / db

本地我可以运行该服务,如果我通过将所需的mmdb文件复制到“ / opt / my-service / db ”文件夹来设置我的系统。

我该怎么做码头工人?我尝试通过在dockerfile中创建相同的文件位置来复制文件(不工作):

FROM tomcat:8-jre8  

EXPOSE 8080

COPY ./my-service/target/my-service-1.0-SNAPSHOT.war /usr/local/tomcat/webapps

cmd mkdir -p /opt/my-service/db

copy ./my-service/src/test/resources/* /opt/ipgeo/db/

CMD ["catalina.sh", "run"]  

这是怎么做的? 或者应该创建一个容器?如果是,怎么样?

1 个答案:

答案 0 :(得分:0)

不会运行

cmd mkdir来构建Dockerfile。 所以,用这个替换你的Dockerfile:

FROM tomcat:8-jre8  
EXPOSE 8080
COPY ./my-service/target/my-service-1.0-SNAPSHOT.war /usr/local/tomcat/webapps
RUN mkdir -p /opt/my-service/db
COPY ./my-service/src/test/resources/* /opt/ipgeo/db/
CMD ["catalina.sh", "run"]  

此外,您确定/ opt / my-service / db和/ opt / ipgeo / db在此Dockerfile中不应该是相同的字符串吗?

如果是这样,正确的Dockerfile应该是:

FROM tomcat:8-jre8  
EXPOSE 8080
COPY ./my-service/target/my-service-1.0-SNAPSHOT.war /usr/local/tomcat/webapps
RUN mkdir -p /opt/my-service/db
COPY ./my-service/src/test/resources/* /opt/my-server/db/
CMD ["catalina.sh", "run"]