准备工作:需要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镜像的更多相关文章

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

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

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

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

  3. 使用Dockerfile制作JDK+tomcat镜像

    1.准备好jdk和tomcatapache-tomcat-8.5.32.tar.gzjdk-8u181-linux-x64.tar.gz 注意:a.jdk和tomcat记得从官网下载,否则制作出来的镜 ...

  4. docker部署Javaweb项目(jdk+tomcat+mysql)

    步骤一:在主机下载安装docker,参照Centos7上安装docker 步骤二:下载Linux版本的JDK1.6和Tomcat6.0(其他项目若依赖其他版本的运行环境可选择另外版本下载),通过sec ...

  5. docker制作jdk+tomcat镜像

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

  6. docker,构建nginx反向代理tomcat

    Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1; error_log /var/log ...

  7. 在Docker中安装和部署MongoDB集群

    此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...

  8. docker tomcat镜像制作

    推荐使用dockerfile(本文直接拉取tomcat需要进入容器自行安装vim):docker利用Dockerfile来制作镜像 1.查找Docker Hub上的tomcat镜像 [root@loc ...

  9. docker制作tomcat镜像

    准备cestos镜像.tomcat.jdk cestos是docker pull下来的 在/opt/下创建docker:mkdir -p /opt/docker 把tomcat和jdk解压到docke ...

随机推荐

  1. Windows管理多个java版本--解决'has value '1.8',but'1.7' is required'的方法

    公司考虑到代码的可持续维护性,要求全部使用java7,自己又想在空闲时间学一些java8的新特性,故在安装完1.7之后又安装了1.8,导致eclisp在启动时报’has value ‘1.8’,but ...

  2. myeclipse之完全破解

    并不是所有的破解都是成功的,就如并不是所有的战争都会胜利一样,我们在做事情的时候,总会遇到些问题,比如Activate不成功,需要手动激活. 激活不成功就是不成功,来回的破解.卸载.重装,都还是不可能 ...

  3. PHP学习笔记(13)班级和学生管理---班级

    两个文件夹,一个班级cls,一个学生stu. 两个表,一个班级cls,一个学生stu. 每个文件夹里有7个php文件:主界面cls.php-------增add.php,insert.php----- ...

  4. 机器学习算法( 七、AdaBoost元算法)

    一.概述 当做重要决定时,大家可能都会考虑吸取多个专家而不只是一个人的意见.机器学习处理问题时又何尝不是如此?这就是元算法(meta-algorithm)背后的思路.元算法是对其他算法进行组合的一种方 ...

  5. hihoCoder #1320 : 压缩字符串 区间dp

    /** 题目:hihoCoder #1320 : 压缩字符串 链接:https://hihocoder.com/problemset/problem/1320 描述 小Hi希望压缩一个只包含大写字母' ...

  6. 2016-2017 ACM-ICPC CHINA-Final Ice Cream Tower 二分+贪心

    /** 题目:2016-2017 ACM-ICPC CHINA-Final Ice Cream Tower 链接:http://codeforces.com/gym/101194 题意:给n个木块,堆 ...

  7. ansible分发密钥

    http://www.361way.com/ansible-cfg/4401.html 修改host_key_checking(默认是check的):改为false,      host_key_ch ...

  8. 编写可维护的JavaScript----笔记(二)

    01.何时使用注释 添加注释的一般原则是,在需要让代码变得更清晰时添加注释 难于理解的代码 浏览器特性hack 注释声明: TODO 说明代码还没完成,应当包含下一步要做的事情 XXX 说明代码是有问 ...

  9. 学习正则 - golang实现

    元字符: 表1.常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 ...

  10. java语言中public、private、protected三个关键字的用法,重写和重载的区别。

    java语言中public.private.protected三个关键字的用法,重写和重载的区别. 解答: 作用域 当前类 同包 子类 其它 public √ √ √ √ protected √ √ ...