docker容器挂载宿主主机目录的操作方法
有一项重要的参数-v目录挂载,就是让容器内部目录和宿主主机目录关联起来,这样就可以直接操作宿主主机目录而不用再操作具体容器了
比如在2中,我们要发布一个war包,是通过
sudodockercpdemo.wartomcat_xiao:/usr/local/tomcat/webapps
来发布的,有没有更快捷的方式呢?
肯定有,没有我就不会在这里写这些玩意儿了
sudodockerrun-p8822:8080--nametomcat_xiao_volume-v/home/xiaochangwei/test:/usr/local/tomcat/webappsxiaochangwei/tomcat:v1
-p不解释
--name不解释
-v/home/xiaochangwei/test:/usr/local/tomcat/webapps就是将宿主主机目录和容器目录建立映射关系,冒号前为宿主主机目录,冒号后为容器对应目录
执行上面的命令启动,这次启动就和上一篇文章中的启动日志有点差异了:差异就在容器启动时,tomcat加载了我们映射的宿主主机目录中的war包
xiaochangwei@ubuntu:~/test$sudodockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES xiaochangwei@ubuntu:~/test$sudodockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE xiaochangwei/tomcatv162cedd29ce8fAboutanhourago505MB xiaochangwei/nginxv1.09f2c1a649a752hoursago108MB nginxlatest3f8a4339aadd9daysago108MB ubuntu16.0400fd29ccc6f13weeksago111MB xiaochangwei@ubuntu:~/test$ xiaochangwei@ubuntu:~/test$pwd /home/xiaochangwei/test xiaochangwei@ubuntu:~/test$ls-l total14180 -rw-rw-r--1xiaochangweixiaochangwei14501238Dec1923:29demo.war -rw-rw-r--1xiaochangweixiaochangwei551Jan418:18Dockerfile drwxr-xr-x8xiaochangweixiaochangwei4096Dec122016jdk drwxrwxr-x6xiaochangweixiaochangwei4096Dec2021:51maven drwxrwxr-x9xiaochangweixiaochangwei4096Dec2018:28tomcat xiaochangwei@ubuntu:~/test$sudodockerrun-p8822:8080--nametomcat_xiao_volume-v/home/xiaochangwei/test:/usr/local/tomcat/webappsxiaochangwei/tomcat:v1 Tomcatstarted. JavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionPermSize=64M;supportwasremovedin8.0 JavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionMaxPermSize=512M;supportwasremovedin8.0 05-Jan-201808:32:20.580INFO[main]org.apache.catalina.startup.VersionLoggerListener.logServerversion:ApacheTomcat/8.5.24 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logServerbuilt:Nov27201713:05:30UTC 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logServernumber:8.5.24.0 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logOSName:Linux 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logOSVersion:4.10.0-28-generic 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logArchitecture:amd64 05-Jan-201808:32:20.641INFO[main]org.apache.catalina.startup.VersionLoggerListener.logJavaHome:/usr/local/jdk/jre 05-Jan-201808:32:20.642INFO[main]org.apache.catalina.startup.VersionLoggerListener.logJVMVersion:1.8.0_121-b13 05-Jan-201808:32:20.642INFO[main]org.apache.catalina.startup.VersionLoggerListener.logJVMVendor:OracleCorporation 05-Jan-201808:32:20.642INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCATALINA_BASE:/usr/local/tomcat 05-Jan-201808:32:20.642INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCATALINA_HOME:/usr/local/tomcat 05-Jan-201808:32:20.642INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Djdk.tls.ephemeralDHKeySize=2048 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Djava.protocol.handler.pkgs=org.apache.catalina.webresources 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Xms128m 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Xmx1024m 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-XX:PermSize=64M 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-XX:MaxPermSize=512M 05-Jan-201808:32:20.648INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Dignore.endorsed.dirs= 05-Jan-201808:32:20.649INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Dcatalina.base=/usr/local/tomcat 05-Jan-201808:32:20.649INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Dcatalina.home=/usr/local/tomcat 05-Jan-201808:32:20.649INFO[main]org.apache.catalina.startup.VersionLoggerListener.logCommandlineargument:-Djava.io.tmpdir=/usr/local/tomcat/temp 05-Jan-201808:32:20.649INFO[main]org.apache.catalina.core.AprLifecycleListener.lifecycleEventTheAPRbasedApacheTomcatNativelibrarywhichallowsoptimalperformanceinproductionenvironmentswasnotfoundonthejava.library.path:[/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib] 05-Jan-201808:32:21.293INFO[main]org.apache.coyote.AbstractProtocol.initInitializingProtocolHandler["http-nio-8080"] 05-Jan-201808:32:21.358INFO[main]org.apache.tomcat.util.net.NioSelectorPool.getSharedSelectorUsingasharedselectorforservletwrite/read 05-Jan-201808:32:21.370INFO[main]org.apache.coyote.AbstractProtocol.initInitializingProtocolHandler["ajp-nio-8009"] 05-Jan-201808:32:21.374INFO[main]org.apache.tomcat.util.net.NioSelectorPool.getSharedSelectorUsingasharedselectorforservletwrite/read 05-Jan-201808:32:21.375INFO[main]org.apache.catalina.startup.Catalina.loadInitializationprocessedin2178ms 05-Jan-201808:32:21.432INFO[main]org.apache.catalina.core.StandardService.startInternalStartingservice[Catalina] 05-Jan-201808:32:21.432INFO[main]org.apache.catalina.core.StandardEngine.startInternalStartingServletEngine:ApacheTomcat/8.5.24 05-Jan-201808:32:21.513INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployWARDeployingwebapplicationarchive[/usr/local/tomcat/webapps/demo.war] 05-Jan-201808:32:24.342INFO[localhost-startStop-1]org.apache.jasper.servlet.TldScanner.scanJarsAtleastoneJARwasscannedforTLDsyetcontainednoTLDs.EnabledebugloggingforthisloggerforacompletelistofJARsthatwerescannedbutnoTLDswerefoundinthem.SkippingunneededJARsduringscanningcanimprovestartuptimeandJSPcompilationtime. 08:32:24.799[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'servletConfigInitParams'withlowestsearchprecedence 08:32:24.813[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'servletContextInitParams'withlowestsearchprecedence 08:32:24.832[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'jndiProperties'withlowestsearchprecedence 08:32:24.832[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'systemProperties'withlowestsearchprecedence 08:32:24.832[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'systemEnvironment'withlowestsearchprecedence 08:32:24.833[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-InitializedStandardServletEnvironmentwithPropertySources[StubPropertySource@1897128678{name='servletConfigInitParams',properties=java.lang.Object@6b18d91f},StubPropertySource@1347718626{name='servletContextInitParams',properties=java.lang.Object@4ba81d05},JndiPropertySource@633520708{name='jndiProperties',properties=org.springframework.jndi.JndiLocatorDelegate@83f37c2},MapPropertySource@2087751866{name='systemProperties',properties={java.runtime.name=Java(TM)SERuntimeEnvironment,java.protocol.handler.pkgs=org.apache.catalina.webresources,sun.boot.library.path=/usr/local/jdk/jre/lib/amd64,java.vm.version=25.121-b13,shared.loader=,java.vm.vendor=OracleCorporation,java.vendor.url=http://java.oracle.com/,path.separator=:,tomcat.util.buf.StringCache.byte.enabled=true,java.util.logging.config.file=/usr/local/tomcat/conf/logging.properties,java.vm.name=JavaHotSpot(TM)64-BitServerVM,file.encoding.pkg=sun.io,user.country=US,sun.java.launcher=SUN_STANDARD,sun.os.patch.level=unknown,tomcat.util.scan.StandardJarScanFilter.jarsToScan=log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,java.vm.specification.name=JavaVirtualMachineSpecification,user.dir=/,java.runtime.version=1.8.0_121-b13,java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment,java.endorsed.dirs=/usr/local/jdk/jre/lib/endorsed,os.arch=amd64,java.io.tmpdir=/usr/local/tomcat/temp,line.separator= ,java.vm.specification.vendor=OracleCorporation,java.naming.factory.url.pkgs=org.apache.naming,java.util.logging.manager=org.apache.juli.ClassLoaderLogManager,os.name=Linux,ignore.endorsed.dirs=,sun.jnu.encoding=ANSI_X3.4-1968,java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib,java.specification.name=JavaPlatformAPISpecification,java.class.version=52.0,sun.management.compiler=HotSpot64-BitTieredCompilers,os.version=4.10.0-28-generic,java.util.concurrent.ForkJoinPool.common.threadFactory=org.apache.catalina.startup.SafeForkJoinWorkerThreadFactory,user.home=/root,catalina.useNaming=true,user.timezone=Etc/UTC,java.awt.printerjob=sun.print.PSPrinterJob,file.encoding=ANSI_X3.4-1968,java.specification.version=1.8,tomcat.util.scan.StandardJarScanFilter.jarsToSkip=bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,websocket-api.jar,jaspic-api.jar,catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-storeconfig.jar,catalina-tribes.jar,jasper.jar,jasper-el.jar,ecj-*.jar,tomcat-api.jar,tomcat-util.jar,tomcat-util-scan.jar,tomcat-coyote.jar,tomcat-dbcp.jar,tomcat-jni.jar,tomcat-websocket.jar,tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,tomcat-jdbc.jar,tools.jar,commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,commons-math*.jar,commons-pool*.jar,jstl.jar,taglibs-standard-spec-*.jar,geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,jmx-tools.jar,jta*.jar,log4j*.jar,mail*.jar,slf4j*.jar,xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,junit.jar,junit-*.jar,hamcrest-*.jar,easymock-*.jar,cglib-*.jar,objenesis-*.jar,ant-launcher.jar,cobertura-*.jar,asm-*.jar,dom4j-*.jar,icu4j-*.jar,jaxen-*.jar,jdom-*.jar,jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,xom-*.jar,catalina.home=/usr/local/tomcat,java.class.path=/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar,user.name=root,java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory,package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.naming.,org.apache.tomcat.,java.vm.specification.version=1.8,sun.java.command=org.apache.catalina.startup.Bootstrapstart,java.home=/usr/local/jdk/jre,sun.arch.data.model=64,user.language=en,java.specification.vendor=OracleCorporation,awt.toolkit=sun.awt.X11.XToolkit,java.vm.info=mixedmode,java.version=1.8.0_121,java.ext.dirs=/usr/local/jdk/jre/lib/ext:/usr/java/packages/lib/ext,sun.boot.class.path=/usr/local/jdk/jre/lib/resources.jar:/usr/local/jdk/jre/lib/rt.jar:/usr/local/jdk/jre/lib/sunrsasign.jar:/usr/local/jdk/jre/lib/jsse.jar:/usr/local/jdk/jre/lib/jce.jar:/usr/local/jdk/jre/lib/charsets.jar:/usr/local/jdk/jre/lib/jfr.jar:/usr/local/jdk/jre/classes,server.loader=,java.vendor=OracleCorporation,catalina.base=/usr/local/tomcat,jdk.tls.ephemeralDHKeySize=2048,file.separator=/,java.vendor.url.bug=http://bugreport.sun.com/bugreport/,common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar",sun.io.unicode.encoding=UnicodeLittle,sun.cpu.endian=little,package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat.,sun.cpu.isalist=}},SystemEnvironmentPropertySource@2000415236{name='systemEnvironment',properties={PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/jdk/bin:/usr/local/maven/bin,JRE_HOME=/usr/local/jdk/jre,HOSTNAME=2dcd945938e8,NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat,M2_HOME=/usr/local/maven,JAVA_HOME=/usr/local/jdk,CATALINA_OPTS=-Xms128m-Xmx1024m-XX:PermSize=64M-XX:MaxPermSize=512M,JDK_JAVA_OPTIONS=--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED,XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt,PWD=/,CLASSPATH=/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar,HOME=/root}}] 08:32:24.844[localhost-startStop-1]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-ReplacingPropertySource'servletContextInitParams'with'servletContextInitParams' ._________ /\\/___'_____(_)______\\\\ (()\___|'_|'_||'_\/_`|\\\\ \\/___)||_)|||||||(_||)))) '|____|.__|_||_|_||_\__,|//// =========|_|==============|___/=/_/_/_/ ::SpringBoot::(v1.5.9.RELEASE) 2018-01-0508:32:26.068INFO13---[ost-startStop-1]com.example.demo.ServletInitializer:StartingServletInitializerv0.0.1-SNAPSHOTon2dcd945938e8withPID13(/usr/local/tomcat/webapps/demo/WEB-INF/classesstartedbyrootin/) 2018-01-0508:32:26.180INFO13---[ost-startStop-1]com.example.demo.ServletInitializer:Noactiveprofileset,fallingbacktodefaultprofiles:default 2018-01-0508:32:26.357INFO13---[ost-startStop-1]ationConfigEmbeddedWebApplicationContext:Refreshingorg.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@77b0904a:startupdate[FriJan0508:32:26UTC2018];rootofcontexthierarchy 2018-01-0508:32:28.732INFO13---[ost-startStop-1]o.s.web.context.ContextLoader:RootWebApplicationContext:initializationcompletedin2374ms 2018-01-0508:32:29.920INFO13---[ost-startStop-1]o.s.b.w.servlet.ServletRegistrationBean:Mappingservlet:'dispatcherServlet'to[/] 2018-01-0508:32:29.930INFO13---[ost-startStop-1]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'errorPageFilter'to:[/*] 2018-01-0508:32:29.934INFO13---[ost-startStop-1]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'characterEncodingFilter'to:[/*] 2018-01-0508:32:29.935INFO13---[ost-startStop-1]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'hiddenHttpMethodFilter'to:[/*] 2018-01-0508:32:29.935INFO13---[ost-startStop-1]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'httpPutFormContentFilter'to:[/*] 2018-01-0508:32:29.935INFO13---[ost-startStop-1]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'requestContextFilter'to:[/*] 2018-01-0508:32:30.900INFO13---[ost-startStop-1]s.w.s.m.m.a.RequestMappingHandlerAdapter:Lookingfor@ControllerAdvice:org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@77b0904a:startupdate[FriJan0508:32:26UTC2018];rootofcontexthierarchy 2018-01-0508:32:31.079INFO13---[ost-startStop-1]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/test]}"ontopublicjava.lang.Stringcom.example.demo.web.TEst.test() 2018-01-0508:32:31.084INFO13---[ost-startStop-1]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/error],produces=[text/html]}"ontopublicorg.springframework.web.servlet.ModelAndVieworg.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 2018-01-0508:32:31.091INFO13---[ost-startStop-1]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/error]}"ontopublicorg.springframework.http.ResponseEntity>org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 2018-01-0508:32:31.185INFO13---[ost-startStop-1]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/webjars/**]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:32:31.186INFO13---[ost-startStop-1]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/**]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:32:31.302INFO13---[ost-startStop-1]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/**/favicon.ico]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:32:31.667INFO13---[ost-startStop-1]o.s.j.e.a.AnnotationMBeanExporter:RegisteringbeansforJMXexposureonstartup 2018-01-0508:32:31.699INFO13---[ost-startStop-1]com.example.demo.ServletInitializer:StartedServletInitializerin6.843seconds(JVMrunningfor13.352) 05-Jan-201808:32:31.792INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployWARDeploymentofwebapplicationarchive[/usr/local/tomcat/webapps/demo.war]hasfinishedin[10,278]ms 05-Jan-201808:32:31.793INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeployingwebapplicationdirectory[/usr/local/tomcat/webapps/tomcat] 05-Jan-201808:32:31.846INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeploymentofwebapplicationdirectory[/usr/local/tomcat/webapps/tomcat]hasfinishedin[52]ms 05-Jan-201808:32:31.846INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeployingwebapplicationdirectory[/usr/local/tomcat/webapps/maven] 05-Jan-201808:32:31.874INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeploymentofwebapplicationdirectory[/usr/local/tomcat/webapps/maven]hasfinishedin[27]ms 05-Jan-201808:32:31.878INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeployingwebapplicationdirectory[/usr/local/tomcat/webapps/jdk] 05-Jan-201808:32:31.919INFO[localhost-startStop-1]org.apache.catalina.startup.HostConfig.deployDirectoryDeploymentofwebapplicationdirectory[/usr/local/tomcat/webapps/jdk]hasfinishedin[41]ms 05-Jan-201808:32:31.926INFO[main]org.apache.coyote.AbstractProtocol.startStartingProtocolHandler["http-nio-8080"] 05-Jan-201808:32:31.958INFO[main]org.apache.coyote.AbstractProtocol.startStartingProtocolHandler["ajp-nio-8009"] 05-Jan-201808:32:31.980INFO[main]org.apache.catalina.startup.Catalina.startServerstartupin10604ms
按照说明,如果在宿主主机的目录中再放一个war包,容器也应该自动部署,下面验证下
为了方便,我直接复制了demo.war
xiaochangwei@ubuntu:~/test$ls-l total14184 drwxr-x---5rootroot4096Jan500:32demo -rw-rw-r--1xiaochangweixiaochangwei14501238Dec1923:29demo.war -rw-rw-r--1xiaochangweixiaochangwei551Jan418:18Dockerfile drwxr-xr-x8xiaochangweixiaochangwei4096Dec122016jdk drwxrwxr-x6xiaochangweixiaochangwei4096Dec2021:51maven drwxrwxr-x9xiaochangweixiaochangwei4096Dec2018:28tomcat xiaochangwei@ubuntu:~/test$ xiaochangwei@ubuntu:~/test$ xiaochangwei@ubuntu:~/test$cp-pdemo.wardemo2.war xiaochangwei@ubuntu:~/test$ll total28360 drwxrwxr-x7xiaochangweixiaochangwei4096Jan500:41./ drwxr-xr-x18xiaochangweixiaochangwei4096Dec2023:01../ drwxr-x---5rootroot4096Jan500:32demo/ drwxr-x---5rootroot4096Jan500:41demo2/ -rw-rw-r--1xiaochangweixiaochangwei14501238Dec1923:29demo2.war -rw-rw-r--1xiaochangweixiaochangwei14501238Dec1923:29demo.war -rw-rw-r--1xiaochangweixiaochangwei551Jan418:18Dockerfile drwxr-xr-x8xiaochangweixiaochangwei4096Dec122016jdk/ drwxrwxr-x6xiaochangweixiaochangwei4096Dec2021:51maven/ drwxrwxr-x9xiaochangweixiaochangwei4096Dec2018:28tomcat/ xiaochangwei@ubuntu:~/test$
然后看容器的控制台:
05-Jan-201808:32:31.926INFO[main]org.apache.coyote.AbstractProtocol.startStartingProtocolHandler["http-nio-8080"] 05-Jan-201808:32:31.958INFO[main]org.apache.coyote.AbstractProtocol.startStartingProtocolHandler["ajp-nio-8009"] 05-Jan-201808:32:31.980INFO[main]org.apache.catalina.startup.Catalina.startServerstartupin10604ms 05-Jan-201808:41:22.174INFO[localhost-startStop-2]org.apache.catalina.startup.HostConfig.deployWARDeployingwebapplicationarchive[/usr/local/tomcat/webapps/demo2.war] 2018-01-0508:41:23.862INFO13---[ost-startStop-2]org.apache.jasper.servlet.TldScanner:AtleastoneJARwasscannedforTLDsyetcontainednoTLDs.EnabledebugloggingforthisloggerforacompletelistofJARsthatwerescannedbutnoTLDswerefoundinthem.SkippingunneededJARsduringscanningcanimprovestartuptimeandJSPcompilationtime. 08:41:24.163[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'servletConfigInitParams'withlowestsearchprecedence 08:41:24.165[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'servletContextInitParams'withlowestsearchprecedence 08:41:24.173[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'jndiProperties'withlowestsearchprecedence 08:41:24.178[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'systemProperties'withlowestsearchprecedence 08:41:24.178[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-AddingPropertySource'systemEnvironment'withlowestsearchprecedence 08:41:24.178[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-InitializedStandardServletEnvironmentwithPropertySources[StubPropertySource@165669309{name='servletConfigInitParams',properties=java.lang.Object@2636bd14},StubPropertySource@1385884584{name='servletContextInitParams',properties=java.lang.Object@33ec3b2},JndiPropertySource@1968853097{name='jndiProperties',properties=org.springframework.jndi.JndiLocatorDelegate@66178dcb},MapPropertySource@1666575626{name='systemProperties',properties={java.vendor=OracleCorporation,sun.java.launcher=SUN_STANDARD,catalina.base=/usr/local/tomcat,sun.management.compiler=HotSpot64-BitTieredCompilers,catalina.useNaming=true,os.name=Linux,sun.boot.class.path=/usr/local/jdk/jre/lib/resources.jar:/usr/local/jdk/jre/lib/rt.jar:/usr/local/jdk/jre/lib/sunrsasign.jar:/usr/local/jdk/jre/lib/jsse.jar:/usr/local/jdk/jre/lib/jce.jar:/usr/local/jdk/jre/lib/charsets.jar:/usr/local/jdk/jre/lib/jfr.jar:/usr/local/jdk/jre/classes,java.util.logging.config.file=/usr/local/tomcat/conf/logging.properties,java.vm.specification.vendor=OracleCorporation,java.runtime.version=1.8.0_121-b13,user.name=root,tomcat.util.scan.StandardJarScanFilter.jarsToScan=log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,shared.loader=,tomcat.util.buf.StringCache.byte.enabled=true,user.language=en,java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory,sun.boot.library.path=/usr/local/jdk/jre/lib/amd64,PID=13,jdk.tls.ephemeralDHKeySize=2048,java.version=1.8.0_121,java.util.logging.manager=org.apache.juli.ClassLoaderLogManager,user.timezone=Etc/UTC,sun.arch.data.model=64,java.util.concurrent.ForkJoinPool.common.threadFactory=org.apache.catalina.startup.SafeForkJoinWorkerThreadFactory,java.endorsed.dirs=/usr/local/jdk/jre/lib/endorsed,sun.cpu.isalist=,sun.jnu.encoding=ANSI_X3.4-1968,file.encoding.pkg=sun.io,package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat.,file.separator=/,java.specification.name=JavaPlatformAPISpecification,java.class.version=52.0,user.country=US,java.home=/usr/local/jdk/jre,java.vm.info=mixedmode,os.version=4.10.0-28-generic,path.separator=:,java.vm.version=25.121-b13,org.jboss.logging.provider=slf4j,java.protocol.handler.pkgs=org.apache.catalina.webresources,java.awt.printerjob=sun.print.PSPrinterJob,sun.io.unicode.encoding=UnicodeLittle,awt.toolkit=sun.awt.X11.XToolkit,package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.naming.,org.apache.tomcat.,java.naming.factory.url.pkgs=org.apache.naming,user.home=/root,java.specification.vendor=OracleCorporation,tomcat.util.scan.StandardJarScanFilter.jarsToSkip=bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,websocket-api.jar,jaspic-api.jar,catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-storeconfig.jar,catalina-tribes.jar,jasper.jar,jasper-el.jar,ecj-*.jar,tomcat-api.jar,tomcat-util.jar,tomcat-util-scan.jar,tomcat-coyote.jar,tomcat-dbcp.jar,tomcat-jni.jar,tomcat-websocket.jar,tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,tomcat-jdbc.jar,tools.jar,commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,commons-math*.jar,commons-pool*.jar,jstl.jar,taglibs-standard-spec-*.jar,geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,jmx-tools.jar,jta*.jar,log4j*.jar,mail*.jar,slf4j*.jar,xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,junit.jar,junit-*.jar,hamcrest-*.jar,easymock-*.jar,cglib-*.jar,objenesis-*.jar,ant-launcher.jar,cobertura-*.jar,asm-*.jar,dom4j-*.jar,icu4j-*.jar,jaxen-*.jar,jdom-*.jar,jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,xom-*.jar,java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib,java.vendor.url=http://java.oracle.com/,spring.beaninfo.ignore=true,java.vm.vendor=OracleCorporation,common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar",java.runtime.name=Java(TM)SERuntimeEnvironment,sun.java.command=org.apache.catalina.startup.Bootstrapstart,java.class.path=/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar,java.vm.specification.name=JavaVirtualMachineSpecification,java.vm.specification.version=1.8,catalina.home=/usr/local/tomcat,sun.cpu.endian=little,sun.os.patch.level=unknown,java.awt.headless=true,java.io.tmpdir=/usr/local/tomcat/temp,java.vendor.url.bug=http://bugreport.sun.com/bugreport/,server.loader=,os.arch=amd64,java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment,java.ext.dirs=/usr/local/jdk/jre/lib/ext:/usr/java/packages/lib/ext,user.dir=/,line.separator= ,java.vm.name=JavaHotSpot(TM)64-BitServerVM,ignore.endorsed.dirs=,file.encoding=ANSI_X3.4-1968,java.specification.version=1.8}},SystemEnvironmentPropertySource@377717121{name='systemEnvironment',properties={PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/jdk/bin:/usr/local/maven/bin,JRE_HOME=/usr/local/jdk/jre,HOSTNAME=2dcd945938e8,NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat,M2_HOME=/usr/local/maven,JAVA_HOME=/usr/local/jdk,CATALINA_OPTS=-Xms128m-Xmx1024m-XX:PermSize=64M-XX:MaxPermSize=512M,JDK_JAVA_OPTIONS=--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED,XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt,PWD=/,CLASSPATH=/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar,HOME=/root}}] 08:41:24.181[localhost-startStop-2]DEBUGorg.springframework.web.context.support.StandardServletEnvironment-ReplacingPropertySource'servletContextInitParams'with'servletContextInitParams' ._________ /\\/___'_____(_)______\\\\ (()\___|'_|'_||'_\/_`|\\\\ \\/___)||_)|||||||(_||)))) '|____|.__|_||_|_||_\__,|//// =========|_|==============|___/=/_/_/_/ ::SpringBoot::(v1.5.9.RELEASE) 2018-01-0508:41:25.139INFO13---[ost-startStop-2]com.example.demo.ServletInitializer:StartingServletInitializerv0.0.1-SNAPSHOTon2dcd945938e8withPID13(/usr/local/tomcat/webapps/demo2/WEB-INF/classesstartedbyrootin/) 2018-01-0508:41:25.140INFO13---[ost-startStop-2]com.example.demo.ServletInitializer:Noactiveprofileset,fallingbacktodefaultprofiles:default 2018-01-0508:41:25.292INFO13---[ost-startStop-2]ationConfigEmbeddedWebApplicationContext:Refreshingorg.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7d220249:startupdate[FriJan0508:41:25UTC2018];rootofcontexthierarchy 2018-01-0508:41:27.126INFO13---[ost-startStop-2]o.s.web.context.ContextLoader:RootWebApplicationContext:initializationcompletedin1834ms 2018-01-0508:41:28.082INFO13---[ost-startStop-2]o.s.b.w.servlet.ServletRegistrationBean:Mappingservlet:'dispatcherServlet'to[/] 2018-01-0508:41:28.083INFO13---[ost-startStop-2]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'errorPageFilter'to:[/*] 2018-01-0508:41:28.084INFO13---[ost-startStop-2]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'characterEncodingFilter'to:[/*] 2018-01-0508:41:28.084INFO13---[ost-startStop-2]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'hiddenHttpMethodFilter'to:[/*] 2018-01-0508:41:28.084INFO13---[ost-startStop-2]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'httpPutFormContentFilter'to:[/*] 2018-01-0508:41:28.084INFO13---[ost-startStop-2]o.s.b.w.servlet.FilterRegistrationBean:Mappingfilter:'requestContextFilter'to:[/*] 2018-01-0508:41:28.924INFO13---[ost-startStop-2]s.w.s.m.m.a.RequestMappingHandlerAdapter:Lookingfor@ControllerAdvice:org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7d220249:startupdate[FriJan0508:41:25UTC2018];rootofcontexthierarchy 2018-01-0508:41:29.087INFO13---[ost-startStop-2]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/test]}"ontopublicjava.lang.Stringcom.example.demo.web.TEst.test() 2018-01-0508:41:29.099INFO13---[ost-startStop-2]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/error],produces=[text/html]}"ontopublicorg.springframework.web.servlet.ModelAndVieworg.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 2018-01-0508:41:29.100INFO13---[ost-startStop-2]s.w.s.m.m.a.RequestMappingHandlerMapping:Mapped"{[/error]}"ontopublicorg.springframework.http.ResponseEntity>org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 2018-01-0508:41:29.181INFO13---[ost-startStop-2]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/webjars/**]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:41:29.181INFO13---[ost-startStop-2]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/**]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:41:29.296INFO13---[ost-startStop-2]o.s.w.s.handler.SimpleUrlHandlerMapping:MappedURLpath[/**/favicon.ico]ontohandleroftype[classorg.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2018-01-0508:41:29.591INFO13---[ost-startStop-2]o.s.j.e.a.AnnotationMBeanExporter:RegisteringbeansforJMXexposureonstartup 2018-01-0508:41:29.616INFO13---[ost-startStop-2]com.example.demo.ServletInitializer:StartedServletInitializerin5.421seconds(JVMrunningfor551.268) 05-Jan-201808:41:29.632INFO[localhost-startStop-2]org.apache.catalina.startup.HostConfig.deployWARDeploymentofwebapplicationarchive[/usr/local/tomcat/webapps/demo2.war]hasfinishedin[7,459]ms
证明我们的猜想和实际情况是一致的
这样,我们就可以在宿主主机下根据不同的容器建立对应的便于记忆的目录路径,有发布需求的时候,直接将war包拷贝到宿主主机目录即可,容器叫什么名字,对应的容器的发布路径在哪里就与发布
总结
以上所述是小编给大家介绍的docker容器挂载宿主主机目录的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!