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都是我们指定的。
docker中制作自己的JDK+tomcat镜像的更多相关文章
- 在docker中制作自己的JDK+tomcat镜像
准备工作:需要Linux kernel 3.8支持 查看linux内核的版本:root@ubuntu-dev:~# cat /proc/version查看linux版本:root@ubuntu-dev ...
- Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像
一.准备好Jdk和Tomcat apache-tomcat-8.5.50.tar.gz jdk-8u212-linux-x64.tar.gz 注意: Jdk 和 Tomcat 记得从官网下载,否则制作 ...
- 使用Dockerfile制作JDK+tomcat镜像
1.准备好jdk和tomcatapache-tomcat-8.5.32.tar.gzjdk-8u181-linux-x64.tar.gz 注意:a.jdk和tomcat记得从官网下载,否则制作出来的镜 ...
- docker部署Javaweb项目(jdk+tomcat+mysql)
步骤一:在主机下载安装docker,参照Centos7上安装docker 步骤二:下载Linux版本的JDK1.6和Tomcat6.0(其他项目若依赖其他版本的运行环境可选择另外版本下载),通过sec ...
- docker制作jdk+tomcat镜像
docker部署TOMCAT项目 一.内核升级 [root@test01 ~]# uname -r #内核查看确认 2.6.32-696.16.1.el6.x86_64 [root@test01 ...
- docker,构建nginx反向代理tomcat
Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1; error_log /var/log ...
- 在Docker中安装和部署MongoDB集群
此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...
- docker tomcat镜像制作
推荐使用dockerfile(本文直接拉取tomcat需要进入容器自行安装vim):docker利用Dockerfile来制作镜像 1.查找Docker Hub上的tomcat镜像 [root@loc ...
- docker制作tomcat镜像
准备cestos镜像.tomcat.jdk cestos是docker pull下来的 在/opt/下创建docker:mkdir -p /opt/docker 把tomcat和jdk解压到docke ...
随机推荐
- jdbc preparedstatement 调用存储过程的问题
preparedstatement 是可以执行正常的存储过程 executeQuery() 正常执行 在实际开发中遇到一种问题当 preparedstatement.setMaxRows 设置了这 ...
- haproxy配置tcp负载均衡
#---------------------------------------------------------------------# 监控页面 #---------------------- ...
- 在oschina添加了x3dom的索引
http://www.x3dom.org/ http://www.oschina.net/p/x3dom x3dom的思路非常优秀并且可行,借助于WebGL的春风,将X3D带到了死而复生的境地.
- java模拟http请求上传文件,基于Apache的httpclient
1.依赖 模拟http端的请求需要依赖Apache的httpclient,需要第三方JSON支持,项目中添加 <dependency> <groupId>org.apache& ...
- datatable.js 服务端分页+fixColumns列固定
前言 记得还是15年的时候,工作需要,独自写后台管理系统..记得那时候,最让我头疼的不是后台逻辑,而是数据的列表展示. 列很多的时候,页面显示问题;分页样式问题;表格样式问题;数据加载...很多细节的 ...
- pl/sql 实例精解 06
1. 简单循环 1: LOOP 2: statement1; 3: statement2; 4: EXIT WHEN condition; 5: END LOOP; 6: statement3; 也可 ...
- 网络I/O:Socket→RMI
★Socket Socket编程可能大家都很熟,所以就不多讨论了,只是说通过socket把数据保存到远端服务器或从网络socket读取数据也不失为一种值得考虑的方式. ★RMI RMI机制其实就是RP ...
- hdu 4284(状压dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4284 思路:类似于poj3311:http://poj.org/problem?id=3311,首先f ...
- js和jquery获取父级元素、子级元素、兄弟元素的方法{转}
先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当成DOM元素 原生的 ...
- 将BT转为磁力链接
实战代码 安装完成后,我们来看下代码: 系统环境:Linux Python环境:Python2.7 请注意python版本 bt2url.py 1 2 3 4 5 6 7 8 9 10 11 12 1 ...