在docker中制作自己的JDK+tomcat镜像
准备工作:需要Linux kernel 3.8支持
查看linux内核的版本:root@ubuntu-dev:~# cat /proc/version
查看linux版本:root@ubuntu-dev:~# lsb_release –a
关于docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源
Docker是基于Linux 64bit的,无法在windows/unix或32bit的linux环境下使用
安装docker
1.安装支持的内核
1. # install the kernel
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
# reboot
$ sudo reboot
2.使用curl指令直接下载docker文件
curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。
$ curl -s https://get.docker.io/ubuntu/ | sudo sh
3.安装docker的运行实例也就是一个container
(1)查看有哪些docker container
docker images
(2)查看正在运行的docker container
docker ps
(3)进入一个container 此方式是创建了一个container并且进入
docker run -i -t ubuntu/dog /bin/bash
也可以用此种方式进入一个container 此方式是已经存在的container然后进入
docker attach 容器ID
Ps:要是想要进入一个没有运行的docker container可以先下载镜像
docker pull tutum/ubuntu-lucid
然后安装完成之后,看看效果
docker run tutum/ubuntu-lucid echo "hello world"
然后进入此docker container,方法同上
4.docker container的打包
docker push ubuntu/dog
打包后可以用(2)(3)的方式查找到这个container
5. docker container名称的更改保存
docker commit 容器ID ubuntu/dog
此方式是创建了一个新的容器并且保留原有的容器
docker container 配置jdk 前提是要在container里
(1) 下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我下载的是这个
Linux x64 151.65 MB jdk-8u11-linux-x64.tar.gz
(2) 解压 到/opt/jdk 文件夹下
tar -zxvf jdk-8u11-linux-x64.tar.gz -C /opt/jdk
将解压后的文件名更改为jdk (为了方便简洁)
mv jdk1.8.0_11 jdk
(3) 配置环境变量 进入到文本编辑器中
vim /etc/profile
添加
export JAVA_HOME=/opt/jdk
export CLASSPATH=$JAVA_HOME/bin
export PATH=.:$JAVA_HOME/bin:$PATH
然后Esc退出 :wq保存更改 并执行更改
source /etc/profile
(4) 查看java版本
java -version
出现版本号则表示环境配置成功OK!
docker container 配置tomcat 前提是要在container里
(1) 下载tomcat
http://tomcat.apache.org/download-70.cgi
我下的是
(2)解压 到/usr/local/tomcat文件夹下
(3)配置环境变量 进入到文本编辑器中
添加
export CATALINA_BASE=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_TMPDIR=/usr/local/tomcat/temp
(4)进入/usr/local/tomcat/bin目录
(5) 启动服务器
在/usr/local/tomcat/bin目录下启动服务器 ./startup.sh
(6)查看所有网络连接
netstat -anpt
一般netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作
(6)在浏览器中输入http://10.21.168.157:8080/ 可以正常打开Apache的主页表示tomcat安装Ok!
其中10.21.168.157是宿主机的ip地址 tomcat监听8080端口
(7) 关闭服务器
在/usr/local/tomcat/bin目录下启动服务器 ./shutdown.sh
另外:
如果在linux宿主机中装有文件,在docker container中想要复制这个文件,可以用locate docker命令,docker container在宿主机中分配有文件系统,然后进入这个文件系统进行复制
然后可以在docker container中找到这个文件
宿主机与docker container之间的切换是 ctrl+pq
在docker中制作自己的JDK+tomcat镜像的更多相关文章
- docker中制作自己的JDK+tomcat镜像
方式一 首先,准备好想要的jdk和tomcat,另外,我们需要创建一个Dockerfile文件.下面展示一个Dockerfile文件的完整内容: FROM ubuntu:14.10 MAINTAINE ...
- 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 ...
随机推荐
- CCNA2.0笔记_VTP
VTP(VLAN Trunking Protocol) 一个能够宣告VLAN配置信息的信息系统: 通过一个共有的管理域,维持VLAN配置信息的一致性: VTP只能在trunk端口发送要宣告的信息: 二 ...
- 如何查看VisualStudio的编译, 链接命令
VisualStudio默认是不显示编译命令的,如何查看呢. 对于链接器: 项目属性 -> 配置属性 -> 链接器 -> 常规 -> 显示进度 -> 设为 "/ ...
- linux学习笔记11---命令more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- FormatUtil类型格式转换
package cn.edu.hbcf.common.utils; import java.math.BigDecimal; import java.math.BigInteger; import j ...
- 基于ZK的分布式锁实现
import java.util.concurrent.TimeUnit; import org.apache.curator.framework.CuratorFramework; import o ...
- python 的__FILE__,__LINE__功能实现
在C语言里,__FILE__和__LINE__给调试提供了很大的方便,今晚在写PYTHON的时候想到,PYTHON是否有类似的功能实现呢? GOOGLE一番发现两个方法,试验一下下面这句:print ...
- GET 还是 POST?
GET 还是 POST? 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用. 然而,在以下情况中,请使用 POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发 ...
- 【 D3.js 入门系列 --- 9.4 】 集群图的制作
本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 集群图( Cluster )通经常使用于表示包括与被包括关系. ...
- IdentityServer4环境部署失败分析贴(一)
前言: 在部署Idv4站点和其客户端在外网时,发现了许多问题,折腾了许久,翻看了许多代码,写个MD记录一下. 1.受保护站点提示错误: Unable to obtain configuration f ...
- 用MathType编辑上下尖括号有什么技巧
在MathType中,同一个数学符号可以进行各种变换方向的使用,就比如箭头符号,任意方向都可以使用,这也是很常见的.数学中的符号能够根据各种特殊需要进行灵活使用,除了箭头符号之外,其它符号也可以,比如 ...