Docker10-实战-构建Java Web运行环境
创建Docker镜像
[info]构建Docker镜像的一般过程是首先创建一个容器,
并在容器里修改镜像,配置相关环境等,最后将修改提交为一个新镜像。
下载制作镜像的系统
root@ubuntu:/home/guanfuchang# docker pull ubuntu
下载完成后,本地多了一个ubuntu系统镜像如下:
root@ubuntu:/home/guanfuchang# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ea4c82dcd15a 4 weeks ago 85.8MB
...
启动容器并修改镜像
创建启动容器ubuntu:latest,并将本地目录挂载到容器中
docker run -i -t -v /data/software/:/data/software ubuntu:latest /bin/bash
参数说明:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中
在容器中安装JDK,Tomcat
- 将安装介质上传到宿主主机目录/data/software 中,然后进入容器
安装介质JDK链接:https://pan.baidu.com/s/1nXiJ18HUBbnPC3IdMNi46g 密码:2phd
安装介质Tomcat链接:https://pan.baidu.com/s/1GVJria7QjzvwSCZHBFdloQ 密码:q3c0
启动容器,然后进入容器(进入容器前,需先将容器运行起来)
root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" 2 hours ago Exited (127) 24 minutes ago xenodochial_keller
root@ubuntu:/data/software#
root@ubuntu:/data/software# docker start ddeb33467e9e
ddeb33467e9e
root@ubuntu:/data/software# docker attach ddeb33467e9e
root@ddeb33467e9e:/#
查看/data/software中是否已经同步了安装介质。
root@ddeb33467e9e:/# cd /data/software/
root@ddeb33467e9e:/data/software# ls
apache-tomcat-9.0.13.tar.gz jdk-8u191-linux-x64.tar.gz
- 将JDK和Tomcat 安装到/data 目录下
root@ddeb33467e9e:/data/software# tar -zxvf jdk-8u191-linux-x64.tar.gz -C /data/
root@ddeb33467e9e:/data/software# tar -zxvf apache-tomcat-9.0.13.tar.gz -C /data/
root@ddeb33467e9e:/data/software#
root@ddeb33467e9e:/data/software# cd ..
root@ddeb33467e9e:/data# mv jdk1.8.0_191 jdk
root@ddeb33467e9e:/data# mv apache-tomcat-9.0.13 tomcat
root@ddeb33467e9e:/data# ls
jdk software tomcat
- 修改环境变量,将下面的配置添加到 /etc/profile 的最后面
#set java environment
export JAVA_HOME=/data/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:{JRE_HOME}/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CATALINA_HOME=/data/tomcat
export CATALINA_BASE=/data/tomcat
[warning]容器内如果vim命令无法使用,需先安装,安装如下:
root@ddeb33467e9e:/data# apt update
root@ddeb33467e9e:/data# apt install vim
修改后,使配置立即生效
root@ddeb33467e9e:/data# source /etc/profile
检查java配置是否生效
root@ddeb33467e9e:/# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
编写启动脚本
root@ddeb33467e9e:/# vim /data/start.sh
脚本如下:
#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
bash /data/tomcat/bin/catalina.sh run
授权启动脚本
root@ddeb33467e9e:/# chmod u+x /data/start.sh
制作镜像
查看容器,获取容器ID
root@ubuntu:/data/software# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddeb33467e9e ubuntu:latest "/bin/bash" About an hour ago Exited (127) 6 seconds ago xenodochial_keller
制作镜像
root@ubuntu:/data/software# docker commit ddeb33467e9e mt/mytomcatdemo:1.0
查看镜像是否已经安装成功
root@ubuntu:/data/software# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mt/mytomcatdemo 1.0 a65637693626 41 seconds ago 580MB
创建并运行容器,指定宿主端口18080
root@ubuntu:/data/software# docker run -d -p 18080:8080 --name tomcatdemo mt/mytomcatdemo:1.0 /data/start.sh
96f03a0e009e706b213583a1408153f8c26314a1d6776204f9b1a6798ed313a7
查看容器是否已经在运行
root@ubuntu:/data/software# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96f03a0e009e mt/mytomcatdemo:1.0 "/data/start.sh" 10 seconds ago Up 10 seconds 0.0.0.0:18080->8080/tcp tomcatdemo
访问宿主ip:端口,如:http://192.168.147.128:18080/ 访问如下即说明镜像制作成功,成功运行。

:-: 
微信扫一扫,关注“python测试开发圈”,了解更多测试教程!
Docker10-实战-构建Java Web运行环境的更多相关文章
- 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)
工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...
- Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)
(软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...
- 使用Docker搭建Java Web运行环境
这周末体验了一下挺火的Docker技术,记录学习笔记. >Docker是干什么的 Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发 ...
- Ubuntu14.04环境下java web运行环境搭建
1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...
- docker 搭建 Java Web 运行环境
安装环境:jdk,tomcat,mysql,nginx
随机推荐
- 深入js系列-环境
javascript运行环境 js如果只在引擎中运行,它会严格遵循并且可以预测的,但是js几乎都在宿主环境中运行,浏览器或者Node环境 ECMAScript中的Annex B 介绍了浏览器兼容性问题 ...
- luoguP2039 [AHOI2009]跳棋 巧妙的dp
设\(f[i]\)表示在第\(i\)个格子上弄一个棋子的最小代价,前后扫两遍dp后统计答案即可. 代码 #include<bits/stdc++.h> using namespace st ...
- 大数据-使用Hive导入10G数据
前言 Hadoop和Hive的环境已经搭建起来了,开始导入数据进行测试.我的数据1G大概对应500W行,MySQL的查询500W行大概3.29秒,用hive同样的查询大概30秒.如果我们把数据增加到1 ...
- rsync 使用方法 ssh免密问题 不同端口同步
不同端口同步(前提还是做好免密) 主要通过选项-e "ssh -p 端口"来实现 重命名了秘钥文件 指定-i即可~ 1. 本地目录同步到导地不同端口主机目录 [root@bakse ...
- 每日一问:说说你对 LeakCanary 的了解
昨天的问题说到了关于 内存泄漏需要注意的点,在文章最后有说到 LeakCanary 检测内存泄漏.实际上,我相信绝大多数人也知道甚至使用过这个库. 这个系列通常来说如果发现了不错的资源,会选择直接截取 ...
- keepass口令管理实践
语言修改 加入插件 插件的学习及应用
- es6 Decorator修饰器
1.类的修饰: 修饰器(Decorator)函数,用来修改类的行为.修饰器是一个对类进行处理的函数.修饰器函数的第一个参数,就是所要修饰的目标类. @testable class MyTestable ...
- TreeMap源码分析1
二叉树他们都需要满足一个基本性质--即树中的任何节点的值大于它的左子节点,且小于它的右子节点.按照这个基本性质使得树的检索效率大大提高.我们知道在生成二叉树的过程是非常容易失衡的,最坏的情况就是一边倒 ...
- Effective.Java第67-77条(异常相关)
67. 明智审慎地进行优化 有三条优化的格言是每个人都应该知道的: (1)比起其他任何单一的原因(包括盲目的愚钝),很多计算上的过失都被归咎于效率(不一定能实现) (2)不要去计算效率上的一些小小的 ...
- c# .netcore oracle连接工具类
1.先右键->添加NeGet包->引入Oracle.ManagedDataAccess.dll 2.将该类加入项目中 工具类: using System; using System.Col ...