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

方式一

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

FROM         ubuntu:14.10
MAINTAINER    linx

#把java与tomcat添加到容器中
ADD jdk-8u31-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.0.20.tar.gz /usr/local/

#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_31
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.20
ENV CATALINA_BASE /usr/local/apache-tomcat-8.0.20
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

#容器运行时监听的端口
EXPOSE  8080

当然,你还是要修改一点点的,就是jdk和tomcat的版本啊,然后版本后面对应的路径啊,其余的就可以不改了。 
然后呢,jdk和tomcat和这个文件需要放在同一个路径中。 
在然后,在当前路径中召唤出终端,输入

docker build –t linx/tomcat

这个命令会遵从Dockerfile文件的规则构建镜像。猴子造完了之后,run起来,使用下面的命令启动tomcat

./usr/local/apache-tomcat-8.0.20/bin/startup.sh

OK,访问8080端口吧,可以看到熟悉的那只猫了。 
过程就这么多,开始题外话:容器开放了8080端口,但是你访问容器里面的tomcat并不是用8080哦,你懂的,容器的端口需要你主动映射到宿主机的某个端口的,算了,告诉你一个命令吧,来做端口映射:

#sudo docker run -d -p 5000:8080 training/webapp

启动一个容器的时候可以借助于-p参数来将8080端口映射成主机的5000端口,这样你访问主机的5000端口就到容器的8080端口啦。 
还有,实际上,Dockerfile文件帮你完成了容器里面环境变量的设置啊等等内容,其实还可以做更多更强大的事,你必须一定要自己查文档看!

方式二

虽然麻烦,还是提一下,毕竟也是非常正常的途径。 
首先呢,下一个随便个什么系统的空的镜像吧,然后run起来,进去,其实你此时面对的就是一个刚装了新系统的主机啊,所以其实你又懂了,开始下载想要的jdk和tomcat吧,哦,原来你的主机上已经下好了,那好,这样:

docker run -i -t -v /root/software/:/mnt/software/ 25c5298b1a36 /bin/bash

上面这个方式来启动容器可以实现将你的software文件夹挂载到容器的mnt/software/目录下,所以呢,等你进去容器,进到那个文件夹就已经看到你想要的jdk和tomcat了。 
好了,开始解压吧,开始设置环境变量吧。什么,不知道Linux中怎么设置环境变量?那就不弄了吧。

vi ~/.bashrc,进入vi编辑模式
在末尾添加如下配置
export JAVA_HOME=/opt/jdk/bin
export PATH=$PATH:$JAVA_HOME
输入wq退出vi界面
//让环境变量生效
source ~/.bashrc

上面一小段Linux设置环境变量的方法,仅供参考,更多的方式更强大的功能你必须要查文档! 
所以呢,我们现在是设置好了jdk和tomcat的环境变量了对吧,还没好?哦,我们接着说下一步,这个时候不是已经在容器里面设置好了环境变量了吗,可以输入java -version测一下好使了没有。然后输入

exit

退出容器,此时容器处于暂停状态,再然后

docker ps -a,列出所有的容器

看到刚刚exit的容器,记住容器id,因为我们要根据该id创建出新的自己的镜像,使用如下命令:

docker commit 57c312bbaad1 myName/javaweb

然后我们就创建出了一个名叫javaweb的镜像了,里面的jdk和tomcat都是我们指定的。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smile326/article/details/51447757

原文地址:https://www.cnblogs.com/momoyan/p/9130233.html

时间: 2024-10-09 17:13:27

docker中制作自己的JDK+tomcat镜像的相关文章

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

准备工作:需要Linux kernel 3.8支持 查看linux内核的版本:[email protected]:~# cat /proc/version查看linux版本:[email protected]:~# lsb_release –a 关于dockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)

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

一.准备好Jdk和Tomcat apache-tomcat-8.5.50.tar.gz jdk-8u212-linux-x64.tar.gz 注意: Jdk 和 Tomcat 记得从官网下载,否则制作出来的镜像容易出现不兼容问题. jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html tomcat8下载:https://tomcat.apache.org/downl

docker制作jdk+tomcat镜像

docker部署TOMCAT项目 一.内核升级 [[email protected] ~]# uname -r   #内核查看确认 2.6.32-696.16.1.el6.x86_64 [[email protected] ~]# [[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [[email protected] ~]# rpm -Uvh http://www.elrepo.or

在Docker中安装和部署MongoDB集群

在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.docker.com/u/tutum/mongodb/ 以该镜像启动一个容器(注意此时mongodb是standalone模式): docker run -d --name=mongodb -p 27017:27017 -p 28017:28017 tutum/mongodb:3.0 docker logs mongodb 输出信息: =============================

docker 制作tomcat 镜像并应用

tomcat支持自主应用并对外开放端口: 1.制作Dockerfile 以centos为基础,远程ssh登录:新建Dockerfile,编辑如下: FROM tomcat MAINTAINER ****************** ADD web.xml /usr/local/tomcat/webapps/manager/WEB-INF/ ADD tomcat-users.xml /usr/local/tomcat/conf/ ADD server.xml /usr/local/tomcat/c

docker中如何制作自己的基础镜像

一.本地镜像 举个例子:现在把自己的开发环境打包,取名为centos6-base.tar,然后在docker中,以centos6-base.tar作为基准镜像. 1.创建自己的镜像,放置于/root目录下: #tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos6-base.tar / 需要注意的是,文件打包支持的类型只有(.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)这几种. 2

基于Dockerfile制作tomcat镜像

Docker 概述: ??在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让 docker 读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile 就此诞生了 常用参数: FROM 命令.用法, FROM <image>:<tag>. FROM 命令告诉 docker 我们构建的镜像是以哪个(发行版)镜像为基础

docker构建tomcat镜像

下载centos镜像 # docker pull daocloud.io/centos:7 [[email protected] ~]# docker pull daocloud.io/centos:7 7: Pulling from centos a02a4930cb5d: Pull complete Digest: sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0 Status: Downloade

如果在docker中部署tomcat,并且部署java应用程序

1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创建Dockerfile,命令如:touch Dockerfile: 第三步:编写Dockerfile,命令如:vim Dockerfile,完成以下命令编写: FROM ubuntu:14.04 MAINTAINER zhaichong <[email protected]> ENV REFRES