Docker:Dockerize在/ opt / my-service / db文件夹中需要mmdb文件的服务
我正在试图dockerize需要mmdb文件(maxmind数据库文件格式)在一个特定的位置/ opt / my-service / db
本地我能够运行该服务,如果我通过将所需的mmdb文件复制到“ / opt / my-service / db ”文件夹来设置我的系统。
我应该为docker工做些什么? 我试图通过在dockerfile中创build相同的文件位置(不工作)来复制文件:
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"]
这是应该如何做? 或者应该创build一个容器? 如果是的话,怎么样?
cmd mkdir
将不会运行来构buildDockerfile。 所以,用这个replace你的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"]
而且,你确定在这个Dockerfile中/ opt / my-service / db和/ opt / ipgeo / db不应该是相同的string吗?
如果是这样,正确的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"]