天天看点

基于CentOS7将JavaWeb项目生成docker镜像

近段时间接触docker,尝试着将javaweb项目做成一个docker镜像,下面具体说明生成步骤,如有不足,希望能在后续的学习中查漏补缺。

一 前提

关于docker环境的搭建这里不再赘述,网上也有很多教程,值的一提的是centos7版本,Docker 软件包已经包括在默认的 CentOS-Extras 软件源里,可以直接yum安装

二 总体思路

拉取centos基础镜像->生成容器->在容器中搭建java环境->安装tomcat

->将web项目打成war包->将war包放到tomcat的webapps下面->启动tomcat服务->测试是否能够访问->将容器做成镜像

三 详细操作

1,拉取centos基础镜像

2,查看镜像

3,在本地准备好tomcat和jdk安装包

#cd /root/software/
#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/jdk-7u79-linux-x64.tar.gz
#wget http://zhibo100.oss-cn-hangzhou.aliyuncs.com/software/apache-tomcat-7.0.59.tar.gz
           

(本次安装基于tomcat 7.0 和jdk1.7)

4,用镜像启一个容器

通过命令查看镜像名

通过镜像名(有版本号时需要加上版本号哟)启容器

额外的,这里插入说明一些容器的常见操作

查看正在运行的容器
# docker ps
查看所有容器
# docker ps -a
进入容器方式
# docker exec -it 容器ID /bin/bash
进入容器方式
# docker attach 容器ID
停止容器
# docker stop 容器ID
开始容器
# docker start 容器ID
删除容器
# docker rm 容器ID (删除前要先停止)
           

5,退出容器

6,将第3步准备好的包拷贝到容器中

7,进入容器

8,进入到/mnt/software/下解压jdk和tomcat并将其移动到/opt/目录下

# cd /mnt/software/
# tar -zxvf jdk-7u79-linux-x64.tar.gz
# tar -zxvf apache-tomcat-7.0.59.tar.gz
# mv jdk1.7.0_79/ /opt/jdk
# mv apache-tomcat-7.0.59 /opt/tomcat
           

9,配置JAVA环境变量并检测

# 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
           

10,编写系统启动脚本并赋予权限

# vi /root/run.sh

加入以下代码

#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run

# chmod u+x /root/run.sh
           

11,将我们的web项目打成war包,并cp进容器,并且将tomcat的

webapps目录下的东西删除掉,将war包放进去

12,退出容器

13,根据当前的容器ID创建新的镜像

# docker ps -a
# docker commit 容器ID 新生成的镜像名:镜像版本号
# docker images
           

14,以守护进程方式启动新的镜像并传入启动参数

15,查看web项目页面

http://127.0.0.1:58080/war包名

继续阅读