1、准备好jdk和tomcat
apache-tomcat-8.5.32.tar.gz
jdk-8u181-linux-x64.tar.gz

注意:
a、jdk和tomcat记得从官网下载,否则制作出来的镜像容易出现不兼容问题。
b、apache-tomcat-8.5.32.tar.gz、jdk-8u181-linux-x64.tar.gz、Dockerfile放在同一目录

2、编写Dockerfile,内容如下:

FROM centos:latest
MAINTAINER john
# now add java and tomcat support in the container
ADD jdk-8u181-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5..tar.gz /usr/local/ # configuration of java and tomcat ENV
ENV JAVA_HOME /usr/local/jdk1..0_181
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin # container listener port
EXPOSE
# startup web application services by self
CMD /usr/local/apache-tomcat-8.5./bin/catalina.sh run

注意:测试发现catalina.sh start启动tomcat容器无法成功,用catalina.sh run正常的。

3、设置Dockerfile权限

chmod  Dockerfile

4、通过Dockerfile生成tomcat镜像

docker build -t tomcat8:v1 .

5、docker images查看刚刚构建的镜像

REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
tomcat8 v1 12bd97615c88 About an hour ago 595MB

6、测试镜像,运行容器

sudo docker run -d -p : --name mytomcat tomcat8:v1
sudo docker run -d -p : -v /opt/docker/lynch/webapps:/usr/local/apache-tomcat-8.5./webapps --name mytomcat tomcat8:v1
sudo docker run -e "SPRING_PROFILES_ACTIVE=uat" -d -p 8080:8080 -p 30008:30008 -v /root/dev/docker/webapps:/usr/local/apache-tomcat-8.5.32/webapps --name game-server tomcat8:uat

注意:/opt/docker/lynch/webapps宿主机目录,存放tomcat项目;/usr/local/apache-tomcat-8.5.32/webapps -->tomcat容器的webapps目录

7、上传镜像到本地镜像仓库

docker tag 12bd97615c88 harbor.baidu.cn/library/tomcat:8.5. ##12bd97615c88 刚才创建的镜像ID
docker login -u admin -p Harborbaidu harbor.baidu.cn
docker push harbor.baidu.cn/library/tomcat:8.5.

 8、DEMO

FROM java:-jdk
COPY ./user-service/target/user-service.jar /user-service.jar
ENV TZ Asia/Shanghai
ENV JAVA_OPS -Duser.timezone=Asia/Shanghai
EXPOSE
ENTRYPOINT ["java", "-jar", "-Djava.security.egd=file:/dev/./urandom", "/user-service.jar"]

使用Dockerfile制作JDK+tomcat镜像的更多相关文章

  1. Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

    一.准备好Jdk和Tomcat apache-tomcat-8.5.50.tar.gz jdk-8u212-linux-x64.tar.gz 注意: Jdk 和 Tomcat 记得从官网下载,否则制作 ...

  2. docker制作jdk+tomcat镜像

    docker部署TOMCAT项目 一.内核升级 [root@test01 ~]# uname -r   #内核查看确认 2.6.32-696.16.1.el6.x86_64 [root@test01 ...

  3. Docker之dockerfile制作jdk镜像

    目的: Dockerfile简介 Dockerfile制作jdk镜像 Dockerfile简介 了解dockerfile之前要先了解Docker基本概念和使用可参考:https://www.cnblo ...

  4. 使用Dockerfile创建一个tomcat镜像,并运行一个简单war包

    docker已经看了有一段时间了,对镜像和容器也有了一个大致了解,参考书上的例子制作一个tomcat镜像,并简单运行一个HelloWorld.war 1.首先下载linux环境的tomcat和jdk, ...

  5. docker通过dockerfile构建JDK最小镜像,Docker导出导入镜像

    docker通过dockerfile构建JDK最小镜像,Docker导出导入镜像 一.docker通过dockerfile构建JDK最小镜像 1.1 下载JRE 1.2 解压JRE,删除相关不需要文件 ...

  6. 基于alpine用dockerfile创建的tomcat镜像

    1.下载alpine镜像 [root@docker43 ~]# docker pull alpine Using default tag: latest Trying to pull reposito ...

  7. docker commit 制作自定义tomcat镜像

    官网下载的tomcat一般存在漏洞,在生产环境中一般是自己下载jdk和tomcat制作成一个新的镜像使用 1.将jdk和tomcat上传 2.生成 c3 容器 3.将jdk和tomcat拷贝到c3容器 ...

  8. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的w ...

  9. docker中制作自己的JDK+tomcat镜像

    方式一 首先,准备好想要的jdk和tomcat,另外,我们需要创建一个Dockerfile文件.下面展示一个Dockerfile文件的完整内容: FROM ubuntu:14.10 MAINTAINE ...

随机推荐

  1. BootStrap常用组件及响应式开发

    BootStrap常用组件 PS:所有的代码必须写在<class="container/container-fluid">容器当中 常用组件包含内容: 字体图标 下拉菜 ...

  2. 探索未知种族之osg类生物---呼吸分解之渲染遍历一

    总结 前面我们基本上已经完成对ViewerBase::frame()函数的探究,只剩下renderingTraversals()渲染遍历的探究,虽然就剩下了一个函数,但是这却是最重要的,不可少的一个步 ...

  3. linux命令-crontab

    一.安装 yum install crontabs 二.基本使用 1.crontab -e:创建任务,进入编辑 格式: 基本格式 : ——————————————————— * * * * * com ...

  4. Python:每日一题006

    题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.…… 个人思路及代码: # 方 ...

  5. 【算法】map的应用

    map使用参考链接http://www.cnblogs.com/KID-XiaoYuan/articles/7297709.html 题目 在ACM比赛中,你每解决一道题,你就可以获得一个气球,不同颜 ...

  6. Eclipse添加JDK,JRE切换

    Eclipse添加JDK Window---preferences 切换JDK,JRE

  7. MFC在对话框中嵌入对话框

    在对话框中嵌入子对话框 代码 m_childDlg = new CChildDlg(); m_childDlg->Create(IDD_CHILD_DIALOG,AfxGetApp()-> ...

  8. CodeCraft-19 and Codeforces Round #537 (Div. 2) E 虚树 + 树形dp(新坑)

    https://codeforces.com/contest/1111/problem/E 题意 一颗有n个点的树,有q个询问,每次从树挑出k个点,问将这k个点分成m组,需要保证在同一组中不存在一个点 ...

  9. drf2 FBV和CBV

    FBV 基于函数的视图 CBV 基于类的视图 也就是说我们是用函数编写视图~还是类编写视图 urlpatterns = [ path('admin/', admin.site.urls), path( ...

  10. windows下angularJs环境搭建和遇到的问题解决

    搭建本地开发环境 angular官网社区上说:你应该在自己的电脑上本地开发... 你也应该在本地环境学习 Angular. 本人也认为在本地搭建学习环境--靠谱.所以决定尝试一下. 安照中文社区给的步 ...