在CentOS7下从0开始搭建docker并发布tomcat项目
一切从0开始,我也是个小白:
1.检查你的系统是不是高于3.8的内核,如果没有请升级CentOS7或者Ubuntu 14
#uname -a
2.CentOS7下安装docker
#yum -y install docker
3.查看docker版本
#docker version
4.启动docker服务
#docker service start
5.查看本地镜像
#docker images
6.如果没有本地镜像,可以下载一个centos7的镜像来作为基础运行环境
#docker pull centos:7.2.1511
7.再次查看本地镜像
#docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
8.在本地先备好jdk和tomcat,此处采用jdk1.7和tomcat7
#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
需要其他版本的jdk和tomcat操作方法类似。
9.挂载宿主主机到镜像容器的/mnt/software/下:
#docker run -i -t -v /root/software/:/mnt/software/ --privileged=true feac5e /bin/bash
10.进入到/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
11.配置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
- java version "1.7.0_79"
- Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
- Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
12.编写系统启动脚本并赋予权限
#vi /root/run.sh
加入以下代码
#!/bin/bash
source ~/.bashrc
sh /opt/tomcat/bin/catalina.sh run
#chmod u+x /root/run.sh
13.退出容器,并查看确认没有正在运行的容器
#exit
#docker ps
14.查询所有容器
#docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- ee0ee8ac3a93 feac "/bin/bash" 13 minutes ago Exited (0) About a minute ago sad_noyce
15.根据当前的容器ID创建新的镜像
#docker commit ee0ee sdzn.com/tomcat:0.1
16.查看当前的镜像
#docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- sdzn.com/tomcat 0.1 af0647ada992 56 seconds ago 514.6 MB
- docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
17.以守护进程方式启动新的镜像并传入启动参数
#docker run -d -p 58080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh
18.查看正在运行的镜像
#docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 10fe153d9d6d sdzn.com/tomcat:0.1 "/root/run.sh" 14 seconds ago Up 6 seconds 0.0.0.0:58080->8080/tcp tomcat1
19.访问镜像:
http://127.0.0.1:58080
20.停止容器并移除
#docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 148df39831f0 af "/bin/bash" 56 seconds ago Exited (2) 14 seconds ago admiring_kalam
- 10fe153d9d6d sdzn.com/tomcat:0.1 "/root/run.sh" 6 minutes ago Up 6 minutes 0.0.0.0:58080->8080/tcp tomcat1
- ee0ee8ac3a93 feac "/bin/bash" 25 minutes ago Exited (0) 13 minutes ago sad_noyce
#docker stop 10f
#docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 148df39831f0 af "/bin/bash" 2 minutes ago Exited (2) 2 minutes ago admiring_kalam
- 10fe153d9d6d sdzn.com/tomcat:0.1 "/root/run.sh" 8 minutes ago Exited (137) About a minute ago tomcat1
- ee0ee8ac3a93 feac "/bin/bash" 27 minutes ago Exited (0) 15 minutes ago sad_noyce
#docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- sdzn.com/tomcat 0.1 af0647ada992 12 minutes ago 514.6 MB
- docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
#docker start 10f
#docker ps
#docker stop 10f
#docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 148df39831f0 af "/bin/bash" 6 minutes ago Exited (2) 6 minutes ago admiring_kalam
- 10fe153d9d6d sdzn.com/tomcat:0.1 "/root/run.sh" 12 minutes ago Exited (137) 13 seconds ago tomcat1
- ee0ee8ac3a93 feac "/bin/bash" 31 minutes ago Exited (0) 19 minutes ago sad_noyce
#docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 10fe153d9d6d sdzn.com/tomcat:0.1 "/root/run.sh" 12 minutes ago Exited (137) 30 seconds ago tomcat1
- ee0ee8ac3a93 feac "/bin/bash" 31 minutes ago Exited (0) 19 minutes ago sad_noyce
#docker rm 10f
#docker rm ee0ee
21.移除已创建的镜像
#docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- sdzn.com/tomcat 0.1 af0647ada992 17 minutes ago 514.6 MB
- docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
#docker rmi af064
#docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
至此结束,演示了从0开始搭环境,发布启动tomcat到清楚整个容器和镜像的完整过程。
后续如何配置多个项目公用一个tomcat的文章待续。
资料参考:
1.https://my.oschina.net/sunchp/blog/616526
2.http://blog.csdn.net/u011627980/article/details/51898234
在CentOS7下从0开始搭建docker并发布tomcat项目的更多相关文章
- CentOS7下使用Sonatype Nexus3搭建Docker私有仓库
相关资料: Sonatype Nexus3官方网站:https://www.sonatype.com/download-oss-sonatype Sonatype Nexus3 Docker Hub地 ...
- [Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...
- 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- centos7下SVN服务器如何搭建
Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...
- centos7一步一步搭建docker tomcat 及重点讲解
系统环境:centos7.7 (VMware中) image版本:tomcat:8-jdk8-openjdk (截止2020.01.10该系列版本) 安装步骤参考文章:https://www.jian ...
- centos7下Etcd3集群搭建
一.环境介绍 etcd主要功能是分布式的存储键值,优点不多说了,分布是集群,自动选举等等,自行百度,主要说下配置方法,折腾了几天,终于优点眉目了,记录下操作方法,本文参考了如下链接 https://w ...
- centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
系统环境:centos7.7 (VMware中) 镜像image 版本:jenkins/jenkins (截止2020.01.10最新版) 参考文章:https://www.jianshu.com/p ...
- Centos7下Etcd集群搭建
一.简介 "A highly-available key value store for shared configuration and service discovery." ...
- CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)
因为近期公司需要搭建一个YUM源服务器给大量的linux(mini)使用,所以因此在网上找了很多的教程,却没有一个特别详细的,很多都有遗漏,参差不齐.所以,打算自己做完之后方便以后查阅,特出此文档. ...
随机推荐
- 转:Python操作SQLServer示例
注:此文也是转载,2018年1月发现此文阅读量过万,略感不安.当时只是为了自己存档学习,未粘此文的原始连接.如有侵权,通过即删除,敬请谅解! 从网上找的,估计原文是:Python操作SQLServer ...
- Json.net 时间格式处理
json.net转json时生成的时间格式是这种 2015-11-14T06:59:59+08:00 格式化为这种2015-11-14 后台代码: IsoDateTimeConverter timeF ...
- poj 3740 Easy Finding(Dancing Links)
Easy Finding Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15668 Accepted: 4163 Des ...
- ChemDraw 16最新版本发布 更效率科研的首选
ChemDraw一直是全球领先的科学绘图软件,致力于为科学家.教师以及学生提供最新的智能应用程序.ChemDraw 16版本相较于15版本做出了较大的改进,大大缩短科研时间,提高科研效率.扩展Name ...
- MathType在字母上加虚线的方法
在数学中根据不同的需要,会对其中的公式或变量字母作不同的标记.这些标记在用MathType编辑数学公式时同样也要准确地编辑出来,例如在字母上方加虚线.这种数学样式在使用时也是根据自己的数学问题来使用的 ...
- Mysql综合案例
Mysql综合案例 考核要点:创建数据表.单表查询.多表查询 已知,有一个学生表student和一个分数表score,请按要求对这两个表进行操作.student表和score分数表的表结构分别如表1- ...
- day25<多线程+&设计模式&GUI>
多线程(单例设计模式)(掌握) 多线程(Runtime类) 多线程(Timer)(掌握) 多线程(两个线程间的通信)(掌握) 多线程(三个或三个以上间的线程通信) 多线程(线程间的通信注意的问题) 多 ...
- swift - UIPickerView 的使用
效果显示数下图: 1.初始化 pickerView.center = self.view.center //将dataSource设置成自己 pickerView.dataSource=self // ...
- angularjs基础——控制器
1)当使用非空ng-app和ng-controller时,变量由angularjs控制器来处理 2)控制器接管模型变量后,直接修改模型,模版里的变量还是会自动变的 <!DOCTYPE html& ...
- CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...