基于CentOS7将JavaWeb项目生成docker镜像
来源:互联网 发布:热敏打印机软件 编辑:程序博客网 时间:2024/06/06 00:48
近段时间接触docker,尝试着将javaweb项目做成一个docker镜像,下面具体说明生成步骤,如有不足,希望能在后续的学习中查漏补缺。
一 前提
关于docker环境的搭建这里不再赘述,网上也有很多教程,值的一提的是centos7版本,Docker 软件包已经包括在默认的 CentOS-Extras 软件源里,可以直接yum安装
# yum install docker
二 总体思路
拉取centos基础镜像->生成容器->在容器中搭建java环境->安装tomcat
->将web项目打成war包->将war包放到tomcat的webapps下面->启动tomcat服务->测试是否能够访问->将容器做成镜像
三 详细操作
1,拉取centos基础镜像
# docker pull centos
2,查看镜像
# docker images
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 images
通过镜像名(有版本号时需要加上版本号哟)启容器
# docker run -i -t 镜像名:版本号 /bin/bash
额外的,这里插入说明一些容器的常见操作
查看正在运行的容器# docker ps查看所有容器# docker ps -a进入容器方式1# docker exec -it 容器ID /bin/bash进入容器方式2# docker attach 容器ID停止容器# docker stop 容器ID开始容器# docker start 容器ID删除容器# docker rm 容器ID (删除前要先停止)
5,退出容器
# exit
6,将第3步准备好的包拷贝到容器中
# docker cp /root/jdk-7u79-linux-x64.tar.gz 容器ID:/mnt/software/
7,进入容器
# docker exec -it 容器ID /bin/bash
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/jdkexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar保存退出# source ~/.bashrc# java -version
10,编写系统启动脚本并赋予权限
# vi /root/run.sh加入以下代码#!/bin/bashsource ~/.bashrcsh /opt/tomcat/bin/catalina.sh run# chmod u+x /root/run.sh
11,将我们的web项目打成war包,并cp进容器,并且将tomcat的
webapps目录下的东西删除掉,将war包放进去
12,退出容器
# exit
13,根据当前的容器ID创建新的镜像
# docker ps -a# docker commit 容器ID 新生成的镜像名:镜像版本号# docker images
14,以守护进程方式启动新的镜像并传入启动参数
docker run -d -p 58080:8080 --name 容器名 镜像名:版本 /root/run.sh
15,查看web项目页面
http://127.0.0.1:58080/war包名
阅读全文
0 0
- 基于CentOS7将JavaWeb项目生成docker镜像
- 基于CentOS7将Java应用生成docker镜像
- centos7 docker Dockerfile 生成镜像
- 制作基于centos7的mysql的docker镜像
- docker 使用centos 镜像 运行 javaweb ,并重新生成镜像
- docker 使用centos 镜像 运行 javaweb ,并重新生成镜像
- Docker实战:基于centos7镜像创建可以ssh链接的Docker容器
- docker Dockerfile生成镜像
- docker生成tomcat镜像
- Docker + CentOS7 + LAMP + memcached 镜像
- docker镜像加速之CentOS7
- CentOS7.3下Docker自定义镜像
- centos7 docker镜像安装中文支持
- centos7代理使用docker国内镜像
- Docker中使用CentOS7镜像
- [docker]centos7 supervisor镜像制作参考
- Docker教程二之基于Centos7的NodeJS环境镜像
- Docker教程三之基于Centos7的Nginx环境镜像以及简单负载均衡
- python:简单的梯度下降算法
- Mybatis学习笔记(四)-----一对多关系配置
- Python3下载图片
- java方法调用时的参数传递问题
- java异常分析;剖析printStackTrace和fillInStackTrace
- 基于CentOS7将JavaWeb项目生成docker镜像
- SourceTree如何创建新分支
- golang语言错误: object is [windows amd64 go1.8 X:framepointer] expected [windows amd64 go1.9 X:framepoin
- linux 命令行快捷键
- 在使用winscp.exe 作为命令行参数执行远程命令时遇见无法执行的情况
- CentOS Linux搭建SVN服务器
- 使用lock 产生死锁
- Santa Cruz 上手测试,动作控制器自由度惊人
- mysql date and timestamp operations