码迷,mamicode.com
首页 > 其他好文 > 详细

docker制作tomcat镜像

时间:2018-10-30 17:40:07      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:rm -rf   nta   赋值   repos   没有   detail   registry   javafx   script   

准备cestos镜像、tomcat、jdk

cestos是docker pull下来的

在/opt/下创建docker:mkdir -p /opt/docker

把tomcat和jdk解压到docker目录下,分别命名为tomcat和jdk

删除jdk文件夹下多余文件, 降低build的镜像大小

rm -rf /z/docker/jdk/*src.zip /z/docker/jdk/lib/missioncontrol /z/docker/jdk/lib/visualvm /z/docker/jdk/lib/*javafx* /z/docker/jdk/jre/lib/plugin.jar /z/docker/jdk/jre/lib/ext/jfxrt.jar /z/docker/jdk/jre/bin/javaws /z/docker/jdk/jre/lib/javaws.jar /z/docker/jdk/jre/lib/desktop /z/docker/jdk/jre/plugin /z/docker/jdk/jre/lib/deploy* /z/docker/jdk/jre/lib/*javafx* /z/docker/jdk/jre/lib/*jfx* /z/docker/jdk/jre/lib/amd64/libdecora_sse.so /z/docker/jdk/jre/lib/amd64/libprism_*.so /z/docker/jdk/jre/lib/amd64/libfxplugins.so /z/docker/jdk/jre/lib/amd64/libglass.so /z/docker/jdk/jre/lib/amd64/libgstreamer-lite.so /z/docker/jdk/jre/lib/amd64/libjavafx*.so /z/docker/jdk/jre/lib/amd64/libjfx*.so

创建Dockerfile文件

#使用docker cestOs镜像
FROM docker.io/centos

#作者信息
MAINTAINER guuyoog <gy>
LABEL Description="This image is used to serve tomcat 8 whit jdk8"  Version="1.0"

#在镜像中创建目录
#把jdk和tomcat添加到里面
RUN mkdir -p /opt/jdk1.8.0_181
ADD jdk /opt/jdk1.8.0_181

RUN mkdir -p /opt/tomcat-8.5.32
ADD tomcat /opt/tomcat-8.5.32

#添加环境变量
ENV JAVA_HOME /opt/jdk1.8.0_181
ENV CATALINA_HOME /opt/tomcat-8.5.32
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

ENV JAVA_OPTS "$JAVA_OPTS -server -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/tomcat-8.5.32/dump/dump.hprof -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/opt/tomcat-8.5.32/dump/heap_trace.txt -Duser.timezone=GMT+08"
#工作区域
WORKDIR /opt/tomcat-8.5.32

#暴露端口
EXPOSE 8080

#启动时运行tomcat
CMD ["catalina.sh", "run"]

 开始构建docker镜像文件

docker build -t guuyoog/centos-jdk8-tomcat8:1.0 .
-t 设置tag名称, 命名规则registry/image:tag
. 表示使用当前目录下的Dockerfile文件

 如果没有问题的话docker images能查看到新建的镜像

 导出镜像 docker save -o jdk8-tomcat8.tar  <镜像ID>

导入镜像 docker load < jdk8-tomcat8.tar

docker images时可能会看不到REPOSITORY 和 tag,则用docker tag 639d56a4231a taomeng/jdk8-tomcat8:1.0赋值

创建容器

sudo docker run -it --name tomcat --net=host  -p 8080:8080 -m 1024m \ #设置容器使用内存最大值;
--restart=always \ #重启机制
--privileged=true \ #使用该参数,container内的root拥有真正的root权限
-v /opt/tomcat/setenv.sh:/opt/tomcat-8.5.32/bin/setenv.sh -v /opt/tomcat/tomcat-users.xml:/opt/tomcat-8.5.32/conf/tomcat-users.xml -v /opt/tomcat/server.xml:/opt/tomcat-8.5.32/conf/server.xml -v /opt/tomcat/logs:/opt/tomcat-8.5.32/logs -v /opt/tomcat/output:/opt/tomcat-8.5.32/output -v /opt/tomcat/webapps:/opt/tomcat-8.5.32/webapps -v /opt/tomcat/dump:/opt/tomcat-8.5.32/dump -d taomeng/jdk8-tomcat8:1.0

 

docker制作tomcat镜像

标签:rm -rf   nta   赋值   repos   没有   detail   registry   javafx   script   

原文地址:https://www.cnblogs.com/guuyoog/p/9876931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!