docker部署tomcat

来源:互联网 发布:cf手游咪咕刷枪软件 编辑:程序博客网 时间:2024/06/14 10:49

部署tomcat

1、准备Tomcat容器。

由于这个是Tomcat项目,所以需要得到一个Tomcat的镜像。
直接pull一个镜像即可

    docker pull tomcat

2、获取到Tomcat镜像之后,就可以run起来一个容器了,这里需要run的时候指定对应的端口映射。

root@controller:~# netstat -pltu |grep 80tcp        0      0 *:6080                  *:*                     LISTEN      4397/python     root@controller:~# docker run -i -t --name HelloDocker -p 80:8080 tomcat /bin/bashroot@a618333d5e28:/usr/local/tomcat# root@a618333d5e28:/usr/local/tomcat# lsLICENSE  NOTICE  RELEASE-NOTES  RUNNING.txt  bin  conf  include  lib  logs  native-jni-lib  temp  webapps  work run           运行一个容器 --name         后面是这个镜像的名称-p 80:8080     表示在这个容器中使用8080端口(第二个)映射到本机的端口号也为80(第一个)>-d             表示使用守护进程运行,即服务挂在后台

3、可以发现现在已经是在tomcat的安装目录下了,可以通过ls查看,然后正常启动tomcat服务器即可:

root@a618333d5e28:/usr/local/tomcat/bin# ./catalina.sh runUsing CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /docker-java-home/jreUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar04-Aug-2017 03:24:14.451 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.1904-Aug-2017 03:24:14.453 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jul 24 2017 21:01:14 UTC04-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.19.004-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux04-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.4.0-62-generic04-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd6404-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-8-openjdk-amd64/jre04-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_141-8u141-b15-1~deb9u1-b1504-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation04-Aug-2017 03:24:14.454 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat04-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat04-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties04-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager04-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=204804-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources04-Aug-2017 03:24:14.455 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat04-Aug-2017 03:24:14.456 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat04-Aug-2017 03:24:14.456 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp04-Aug-2017 03:24:14.456 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.12] using APR version [1.5.2].04-Aug-2017 03:24:14.456 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].04-Aug-2017 03:24:14.456 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]04-Aug-2017 03:24:14.460 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.0f  25 May 2017]04-Aug-2017 03:24:14.541 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]04-Aug-2017 03:24:14.558 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read04-Aug-2017 03:24:14.561 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]04-Aug-2017 03:24:14.562 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read04-Aug-2017 03:24:14.563 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 493 ms04-Aug-2017 03:24:14.585 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]04-Aug-2017 03:24:14.586 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.1904-Aug-2017 03:24:14.595 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]04-Aug-2017 03:24:15.167 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/examples] has finished in [572] ms04-Aug-2017 03:24:15.168 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]04-Aug-2017 03:24:15.184 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [16] ms04-Aug-2017 03:24:15.184 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/host-manager]04-Aug-2017 03:24:15.208 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/host-manager] has finished in [23] ms04-Aug-2017 03:24:15.208 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/docs]04-Aug-2017 03:24:15.223 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [14] ms04-Aug-2017 03:24:15.223 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/manager]04-Aug-2017 03:24:15.243 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/manager] has finished in [20] ms04-Aug-2017 03:24:15.246 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]04-Aug-2017 03:24:15.253 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]04-Aug-2017 03:24:15.255 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 691 ms

这里写图片描述

主机和容器之间传输文件

主机和容器之间传输文件的话需要用到容器的ID全称
获取方法如下:

1.先拿到容器的短ID或者指定的name。

root@controller:~# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                           PORTS                    NAMESa618333d5e28        tomcat              "/bin/bash"              22 minutes ago      Exited (130) 3 seconds ago                                HelloDocker

2.然后根据这两项的任意一项拿到ID全称。

root@controller:~# docker inspect -f '{{.ID}}' HelloDockera618333d5e280422d9b549c59dd2c24d7d1ef30ba02e674a9662d4100adb4a24

有了这个长长的ID的话,本机和容器之间的文件传输就简单了。

docker cp 本地文件路径 ID全称:容器路径

root@controller:~# lsa  testroot@controller:~# docker cp a a618333d5e280422d9b549c59dd2c24d7d1ef30ba02e674a9662d4100adb4a24:/rootroot@controller:~# 

进入容器之后就能够看到刚才上传进来的文件了。

root@controller:~# docker start HelloDockerHelloDockerroot@controller:~# docker attach HelloDockerroot@a618333d5e28:/usr/local/tomcat# root@a618333d5e28:/usr/local/tomcat# root@a618333d5e28:/usr/local/tomcat# pwd/usr/local/tomcatroot@a618333d5e28:/usr/local/tomcat# cd /root/root@a618333d5e28:~# lsaroot@a618333d5e28:~# 

如果是容器传输文件到本地的话,反过来就好了:

docker cp ID全称:容器文件路径 本地路径

root@controller:~# docker cp a618333d5e280422d9b549c59dd2c24d7d1ef30ba02e674a9662d4100adb4a24:/root/a /tmp/root@controller:~# cd /tmp/root@controller:/tmp# lsahsperfdata_logstashhsperfdata_root

复制目录跟文件一样

root@controller:~# lsa  testroot@controller:~# docker cp test/ a618333d5e280422d9b549c59dd2c24d7d1ef30ba02e674a9662d4100adb4a24:/rootroot@controller:~# docker start HelloDockerHelloDockerroot@controller:~# docker attach HelloDockerroot@a618333d5e28:/usr/local/tomcat# root@a618333d5e28:/usr/local/tomcat# root@a618333d5e28:/usr/local/tomcat# cd /root/root@a618333d5e28:~# lsa  testroot@a618333d5e28:~# cd test/root@a618333d5e28:~/test# pwd/root/testroot@a618333d5e28:~/test# 
原创粉丝点击