我正在尝试将需要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"]
这是怎么做的? 或者应该创建一个容器?如果是,怎么样?
答案 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"]