Docker_用Dockerfile构建自己的tomcat

首先创建一个文件夹,在里面准备jdk和tomcat

[root@localhost build]# ls
apache-tomcat-8.5.31.tar.gz  jdk-8u11-linux-x64.tar.gz  test.txt   

在这个文件夹新建Dockerfile

# 以centos7为基础
FROM centos:7
MAINTAINER lgz<120218355@qq.com>
ENV WORK_PATH /usr/local/
# 指定进入容器时的工作目录
WORKDIR $WORK_PATH

# 复制文件
COPY test.txt /usr/local/test.txt

RUN mkdir -p /usr/lib/jvm/

# 添加jdk和tomcat,并解压到指定目录
ADD apache-tomcat-8.5.31.tar.gz /usr/local/
ADD jdk-8u11-linux-x64.tar.gz /usr/lib/jvm/

# 配置环境变量
ENV JAVA_HOME /usr/lib/jvm/jdk1.8.0_11
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME:lib

EXPOSE 8080

#启动容器就让tomcat跑起来
CMD ["catalina.sh","run"]

构建新镜像

[root@localhost files]# docker build -t mytomcat8 .
Sending build context to Docker daemon  1.165GB
Step 1/15 : FROM centos:7
 ---> 5e35e350aded
Step 2/15 : MAINTAINER lgz<120218355@qq.com>
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in a69f01982535
Removing intermediate container a69f01982535
 ---> af6036dfd90f
Step 3/15 : ENV WORK_PATH /usr/local/
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 2a12b9964895
Removing intermediate container 2a12b9964895
 ---> 14dcfdb03207
Step 4/15 : WORKDIR $WORK_PATH
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 3b35505c847f
Removing intermediate container 3b35505c847f
 ---> f0706a9f3e3f
Step 5/15 : COPY c.txt /usr/local/c.txt
 ---> 35593f253ca9
Step 6/15 : RUN mkdir -p /usr/lib/jvm/
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 3bc2a47605fb
Removing intermediate container 3bc2a47605fb
 ---> a3d7e49fccd7
Step 7/15 : ADD apache-tomcat-8.5.31.tar.gz /usr/local/
 ---> 3f60a92df85d
Step 8/15 : ADD jdk-8u11-linux-x64.tar.gz /usr/lib/jvm/
 ---> a513a15f12db
Step 9/15 : ENV JAVA_HOME /usr/lib/jvm/jdk1.8.0_11
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 96dcc82e84a5
Removing intermediate container 96dcc82e84a5
 ---> deee011858dd
Step 10/15 : ENV JRE_HOME $JAVA_HOME/jre
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 9cf58a47e2d3
Removing intermediate container 9cf58a47e2d3
 ---> 7894736df076
Step 11/15 : ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 7c678ef3c29a
Removing intermediate container 7c678ef3c29a
 ---> 3b00ee7244bd
Step 12/15 : ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.31
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 25d8d55b8421
Removing intermediate container 25d8d55b8421
 ---> ac6c8ad1c833
Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME:lib
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 2abc78da47e2
Removing intermediate container 2abc78da47e2
 ---> 49a7c1edcc1c
Step 14/15 : EXPOSE 8080
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 92cddddeff20
Removing intermediate container 92cddddeff20
 ---> 61e9fb37c588
Step 15/15 : CMD ["catalina.sh","run"]
 ---> [Warning] IPv4 forwarding is disabled. Networking will not work.
 ---> Running in 0627ddcc1003
Removing intermediate container 0627ddcc1003
 ---> e72700acc770
Successfully built e72700acc770
Successfully tagged mytomcat8:latest

运行容器

[root@localhost files]# docker run -it -p 8080:8080 mytomcat8
WARNING: IPv4 forwarding is disabled. Networking will not work.
Using CATALINA_BASE:   /usr/local/apache-tomcat-8.5.31
Using CATALINA_HOME:   /usr/local/apache-tomcat-8.5.31
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.31/temp
Using JRE_HOME:        /usr/lib/jvm/jdk1.8.0_11/jre
Using CLASSPATH:       /usr/local/apache-tomcat-8.5.31/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.31/bin/tomcat-juli.jar
26-Nov-2019 03:22:08.231 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.31
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 27 2018 20:24:25 UTC
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.31.0
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-862.el7.x86_64
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
26-Nov-2019 03:22:08.232 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/jdk1.8.0_11/jre
26-Nov-2019 03:22:08.233 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_11-b12
26-Nov-2019 03:22:08.233 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
26-Nov-2019 03:22:08.233 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/apache-tomcat-8.5.31
26-Nov-2019 03:22:08.233 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/apache-tomcat-8.5.31
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/apache-tomcat-8.5.31/conf/logging.properties
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/apache-tomcat-8.5.31
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/apache-tomcat-8.5.31
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/apache-tomcat-8.5.31/temp
26-Nov-2019 03:22:08.244 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
26-Nov-2019 03:22:08.569 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
26-Nov-2019 03:22:08.645 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
26-Nov-2019 03:22:08.658 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
26-Nov-2019 03:22:08.673 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
26-Nov-2019 03:22:08.674 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1136 ms
26-Nov-2019 03:22:08.731 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
26-Nov-2019 03:22:08.731 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.31
26-Nov-2019 03:22:08.768 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-8.5.31/webapps/ROOT]
26-Nov-2019 03:22:09.273 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-8.5.31/webapps/ROOT] has finished in [505] ms
26-Nov-2019 03:22:09.274 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-8.5.31/webapps/docs]
26-Nov-2019 03:22:09.314 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-8.5.31/webapps/docs] has finished in [40] ms
26-Nov-2019 03:22:09.314 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-8.5.31/webapps/examples]
26-Nov-2019 03:22:09.735 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-8.5.31/webapps/examples] has finished in [421] ms
26-Nov-2019 03:22:09.735 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-8.5.31/webapps/host-manager]
26-Nov-2019 03:22:09.799 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-8.5.31/webapps/host-manager] has finished in [64] ms
26-Nov-2019 03:22:09.800 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/apache-tomcat-8.5.31/webapps/manager]
26-Nov-2019 03:22:09.846 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-8.5.31/webapps/manager] has finished in [46] ms
26-Nov-2019 03:22:09.853 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
26-Nov-2019 03:22:10.002 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
26-Nov-2019 03:22:10.021 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1347 ms

使用exec进入容器,查看刚才所写的构建命令中,指定的工作目录与复制text.txt文件是否成功

[root@localhost build]# docker exec -it 5720b8a3432f /bin/bash
[root@5720b8a3432f local]# pwd
/usr/local
[root@5720b8a3432f local]# ll
total 0
drwxr-xr-x. 1 root root 42 Nov 26 03:21 apache-tomcat-8.5.31
drwxr-xr-x. 2 root root  6 Apr 11  2018 bin
drwxr-xr-x. 2 root root  6 Apr 11  2018 etc
drwxr-xr-x. 2 root root  6 Apr 11  2018 games
drwxr-xr-x. 2 root root  6 Apr 11  2018 include
drwxr-xr-x. 2 root root  6 Apr 11  2018 lib
drwxr-xr-x. 2 root root  6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root  6 Apr 11  2018 libexec
drwxr-xr-x. 2 root root  6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root 49 Oct  1 01:15 share
drwxr-xr-x. 2 root root  6 Apr 11  2018 src
-rw-r--r--. 1 root root  0 Nov 26 03:45 test.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值