Docker:Dockerize 需要 /opt/my-service/db 文件夹中的 mmdb 文件的服务



我正在尝试在特定位置/opt/my-service/db中对需要mmdb文件(maxmind db文件格式(的服务进行docker化

如果我通过将所需的 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"]  

这是应该做的吗? 还是应该创建一个容器?如果是,如何?

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"]  

最新更新