Docker搭建Java Web环境(Centos6.8+JDK8+tomcat8)
来源:互联网 发布:九龙擒庄指标源码破译 编辑:程序博客网 时间:2024/05/18 02:19
上一篇blog分享了怎么利用centos服务器安装docker容器,简单介绍了下docker的相关命令及实例。
就想着通过docker搭建一个适合Java运行的平台,结合网上的资料,最终顺利完成。
一、在docker中pull centos
为了与原有的虚拟机区分开来,这里我们下载用centos6.8 64位的环境。
原有虚拟机环境:
利用docker查找一下centos镜像信息:
可以看到,在Docker中,可以pull的centos已经更新到最新的7.3版本了。
我们这里pull一下centos6.8。
相关命令:docker pull daocloud.io/library/centos:6.8 下载完毕后用docker images查看一下。
二、启动centos容器(容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中)
使用以下命令即可启动容器:docker run -i -t -v /root/software/:/mnt/software/ 80e46367f846 /bin/bash
解释:
这条命令比较长,我们稍微分解一下,其实包含以下三个部分:docker run <相关参数> <镜像 ID> <初始命令>
其中,相关参数包括:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。
也就是说:/root/software/是本来虚拟机的真实目录,其对应的容器中的目录为:/mnt/software/。
那么虚拟机中/root/software/下存放的文件信息,到容器的/mnt/software/能对应的看到文件信息。
如图,/root/software/下有tomcat、jdk、nginx的文件:
我们在来看进入容器后,在容器的/mnt/software/目录下的文件信息:
查看容器中系统信息:
可以看到文件是一致的,系统是centos 6.8版本,但是容器中的系统时间有问题,导致二个图片上显示的信息有区别,这个无关紧要,继续~
三、安装配置jdk+tomcat
搭建java web环境,无非就是jdk+tomcat(也可以是其他,这里选用tomcat),并以opt目录作为安装目录。
之行创建/opt/jdk、/opt/tomcat目录
1.JDK:
命令:
tar -zxvf jdk-8u101-linux-x64.tar.gz
cd jdk1.8.0_101/
mv * /opt/jdk/
配置JDK环境:
vi ~/.bashrc
在最后加入以下信息:
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
最后用:source ~/.bashrc 命令重新加载一下,让环境变量生效。通过java -version可以检测一下。
2.tomcat:
相关命令:
tar -zxvf apache-tomcat-8.5.5.tar.gz
cd apache-tomcat-8.5.5
mv * /opt/tomcat/
可以通过启动/opt/tomcat/bin/startup.sh来测试启动。
3.编写java web容器运行脚本
需要编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat,比如/root/run.sh作为启动文件,具体过程如下:
创建脚本:vi /root/run.sh
编辑脚本,将以下内容写进去后保存:
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
可能会有童鞋会问,为啥不用startup.sh,其实startup.sh的源代码就是执行catalina.sh start的。
为运行脚本添加执行权限:
chmod u+x /root/run.sh
最后退出容器,用exit命令即可。
四、配置容器
docker ps查看正在运行的容器:
当退出容器后,则可以通过docker ps -a 来查询所有的容器:
容器ID为69e8f5dcba1b的是我们刚才创建的容器信息。
下一步,使用创建新镜像的命令,来根据某个“容器ID”来创建一个新的镜像,命令如下:
docker commit 69e8f5dcba1b mine/javaweb:1.0
自动返回一个序列ID,标识生成已经成功了,我们再通过docker images的命令来查看所有镜像。
此时,我们可以看到最新创建的镜像“mine/javaweb”,版本标签信息为1.0,镜像ID为:5e4e37068614
正如上面所描述的那样,我们可以通过“镜像名”或“镜像 ID”来启动容器,与上次启动容器不同的是,我们现在不再进入容器的命令行,而是直接启动容器内部的 Tomcat 服务。此时,需要使用以下命令:
docker run -d -p 58080:8080 --name smart smart/javaweb:0.1 /root/run.sh
不知道为什么刚才一边截图一边写,等到启动的时候,发现启动失败,于是又按照上面的配置过程,重新生成了下(换了个容器名字smart),步骤过程都没有变化,这次启动成功了。
镜像“smart/javaweb”,版本标签信息为0.1,镜像ID为:294d7142accc
通过58080端口访问tomcat,可以正常访问,如下:
参考资料:http://www.importnew.com/21798.html
新手一枚,欢迎拍砖~ ~ ~
- Docker搭建Java Web环境(Centos6.8+JDK8+tomcat8)
- 搭建jdk8+tomcat8环境
- 阿里CentOS7,基本Java Web环境搭建过程记录,SSH连接,Tomcat8,JDK8,MySQL5.7
- windows 安装java 环境(jdk8+tomcat8)
- CentOS6.5使用 Docker 搭建 Java Web 运行环境
- 阿里云ECS Java运行环境(Centos7 64 | JDK8|Tomcat8)搭建网站过程记录
- Linux下安装Java环境(JDK8、Tomcat8、MySQL5.6)
- Docker搭建Java web环境
- 阿里云服务器上搭建JavaWeb环境(jdk8-tomcat8-mysql5.7-nginx1.3)
- 阿里云 centos7 Jdk8-64 mysql5.6 tomcat8 环境搭建
- centos6.5实践(2):搭建Java Web生产环境
- centos6.3搭建java web环境
- centos6.5 docker环境搭建
- Java Web 开发JDK8+Tomcat8+Eclipse Luna安装配置(Windows)
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 使用 Docker 搭建 Java Web 运行环境
- 图解操作系统环境变量
- Java代理之静态、动态代理
- Stream的中间方法与末端方法
- 云时代的分布式数据库:阿里分布式数据库服务DRDS
- 每日积累(一六)---List集合去重
- Docker搭建Java Web环境(Centos6.8+JDK8+tomcat8)
- 对java中EJB的理解
- SpringMVC中生成验证码的一个实例
- 项目交付中遇到的问题及解决方案
- MongoDB安装与使用
- HEVC函数入门(24)——比特流
- 用户名不在sudoers文件中。此事将被报告。
- STM32-时钟
- Softmax 函数的特点和作用是什么?