Image Docker绑定装载读取初始容器数据
描述问题 我创建了一个docker tomcat图像Image Docker绑定装载读取初始容器数据,image,docker,tomcat,mount,Image,Docker,Tomcat,Mount,描述问题 我创建了一个docker tomcat图像 FROM ubuntu:20.04 RUN apt-get update && apt-get upgrade -y RUN apt-get install openjdk-14-jre-headless -y RUN apt-get install tomcat9 -y ENV CATALINA_HOME="/usr/share/tomcat9" ENV CATALINA_BASE="/var/
FROM ubuntu:20.04
RUN apt-get update && apt-get upgrade -y
RUN apt-get install openjdk-14-jre-headless -y
RUN apt-get install tomcat9 -y
ENV CATALINA_HOME="/usr/share/tomcat9"
ENV CATALINA_BASE="/var/lib/tomcat9"
CMD $CATALINA_HOME/bin/catalina.sh run
这将创建一个映像,其中目录/var/lib/tomcat9
包含以下目录
conf lib记录webapps的工作情况
这些目录已经填充
在主机上,我有一个目录/some/path/tomcat9
,它是空的
如何运行此映像的容器(使用哪个绑定装载设置)因此,主机目录/some/path/tomcat9
将反映容器目录/var/lib/tomcat9
的初始状态,并且对主机目录/some/path/tomcat9
所做的更改也将对容器目录/var/lib/tomcat9
进行
尝试
- 如果要使用命名卷,则必须以root用户身份执行任何更改
- 如果使用默认绑定装载设置,则容器目录
将删除其所有内容,以匹配主机目录/var/lib/tomcat9
/some/path/tomcat9
- 如果没有解决此问题的绑定装载设置。你能建议一些解决办法,不包括在我的web应用程序中的每一个小更改上重建一个新映像吗
- 在docker上开发tomcat应用程序的标准设置是什么
都将一个内置的.jar
或.war
文件复制到图像中;因此,在Java之外进行日常开发,当您有特别需要在Docker环境中运行的更改时,重建映像(包括应用程序jar)。@DavidMaze我想使用Docker环境进行开发。在每一个小改动上重建图像似乎不是一个好的解决方案;重建映像应该非常快(同样,如果只是将jar文件复制到Tomcat映像中,尤其如此)。