文档章节

Docker 从安装到发布jdk+tomcat发布war包

天马行空的鱼
 天马行空的鱼
发布于 2017/08/16 14:30
字数 960
阅读 31
收藏 0
点赞 0
评论 0

1,docker安装之前写过就不在赘述了,我的环境64位centos7.1内核3.1,直接写命令

#更新yum

sudo yum update

#添加yum仓库

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

#安装docker

sudo yum install docker-engine

#启动docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

#验证是否成功

sudo docker info

sudo docker version

sudo docker run hello-world

以上安装完毕,官网,docloud,阿里云也有安装脚本。

安装结束如果不配置代理,我用docloud的加速器,官网上把加速器的脚本复制过来执行一下即可。

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://9c0b10da.m.daocloud.io

说一下卸载:

yum list installed | grep docker

#会列出已安装的docker删除即可

sudo yum -y remove docker-engine.x86_64

#删除镜像/容器等

rm -rf /var/lib/docker

以上docker的准备环境完毕。

首先下载镜像如我需要centos

sudo docker search centos

这时我们会看到centos的镜像,至于有关镜像的理解个人更愿意把它理解为虚拟光驱的镜像使用。

#下载镜像默认是最新的centos镜像

sudo docker pull centos

#查看镜像

sudo docker images

好了现在我们准备jdk和tomcat,把它放在当前目录下(本人没用Dockerfile方式因为不是很熟练,所以用的一下方法,个人认为Dockerfile挺好)

sudo docker run -i -t -v /home/docker/software:/mnt/software --privileged=true d7b5decce082

#docker run <相关参数> <镜像ID> <初始命令>, 意思运行d7b5decce082即刚才下载的centos把本地的tomcat和jdk目录挂载到docker镜像中。

安装jdk

进入镜像后就是linux系统,进入挂载目录mnt/software下。

配置环境变量:

1,vi  ~/.bashrc

export  JAVA_HOME=/opt/jdk

export  PATH=$PATH:$JAVA_HOME

2,在etc/profile文件末尾加入: 
export JAVA_HOME=/usr/share/jdk1.6.0_14 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

最后使用source命令,让环境变量生效:

source ~/.bashrc

source /etc/profile

以上配置环境变量细节不写了如果不同之处修改jdk版本和你的jdk路径即可。

安装tomcat

还是和平常linux一样我把项目的tomcat直接cp下来放到webapps下了.

在一个目录下些一个tomcat启动脚本内容如下

#!/bin/bash

source  ~/.bashrc

sh  /opt/tomcat/bin/catalina.sh run

注意:这里必须先加载环境,然后使用Tomcat的运行脚本来运行Tomcat

最后,为运行脚本添加执行权限:

chmod  u+x  run.sh

提交镜像

首先退出你刚才配置好的docker镜像

exit

然后使用以下命令可以看到刚才退出的docker镜像

docker ps –a

再使用以下命令,根据某个”容器ID”来创建一个新的”镜像”:

docker  commit  57c312bbaad1  javaweb:0.1

该容器ID是”57c312bbaad1”,所创建的镜像名是”javaweb”

注意:”57c312bbaad1” 这个ID是使用 docker ps 命令来查看的

提交了新的镜像你可以把这个镜像储存tar包

docker save –o  ~/javaweb.tar  javaweb

docker save –o  保存的目录  镜像名

补充docker载入镜像两种方法

sudo docker load --input 文件

sudo docker load < 文件名

启动容器

先用 docker  images看看当前所有的镜像

启动最新创建的镜像

docker  run  -d  -p  80:80  --name  javaweb  javaweb:0.1  /opt/run.sh

 

-d:表示以”守护模式”执行/root/run.sh脚本,此时Tomcat控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过Docker网桥来访问容器内部的80端口了

--name:表示容器名称,用一个有意义的名称命名即可

以上全部完事,以上包括自己整理和网上摘取。

© 著作权归作者所有

共有 人打赏支持
天马行空的鱼
粉丝 8
博文 51
码字总数 31978
作品 0
QA/测试工程师
Jenkins+docker实现应用发布和更新

Jenkins+docker实现应用发布 Jenkins:centos6.5 ip:192.168.83.84 Docker:centos7.2 ip:192.168.83.60 一、安装Jenkins 最新版: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pk......

盖世英雄iii ⋅ 2017/07/26 ⋅ 0

快速构建docker镜像:maven插件

越来越多的项目开始了docker容器化部署的进化,在容器化之前我们部署一个项目,可能由源代码产出一个jar或者war即可直接发布了,启动之后是一个java进程;容器化之后,由源代码产出的是一个d...

rabbitGYK ⋅ 04/15 ⋅ 0

Docker+Jenkins+GIT+Tomcat实战持续化集成

Docker基础教程可参考:容器Docker详解Jenkins基础知识可参考:jenkins笔记(1)Git基础知识可参考:GIT笔记文件脚本内容参考:junsansi,可以根据实际项目具体修改脚本。 一、概要 > 开发将...

KaliArch ⋅ 2017/12/19 ⋅ 0

Linux centos下安装tomcat +JDK环境部署

Linux下安装apache比较简单,安装apache的httpd就可以了。 但是如果要用tomcat的话,要稍微复杂一点,但如果按步骤来,也会很顺利地装好。 首先,tomcat安装之前,需要安装java环境,即需要下...

chidongting ⋅ 2016/06/18 ⋅ 0

【Docker】 导入对应的war包进行docker操作

docker的容器操作已然没任何问题,接下来就是如何和我们的tomcat应用app融合,用来提供实际的服务。 根据官网上来看,两种方式进行打包发布。 一种是直接建立maven docker,然后通过把war包放...

lsttoy ⋅ 2016/11/10 ⋅ 0

Docker学习记录(2)——JAVA应用容器化(JAVA博客应用Solo)

以GitHub上一个开源JAVA博客应用为例,地址为:https://github.com/b3log/solo。它的项目结构是基于Maven的要求布置的,通过Maven可以编译和构建WAR包。 执行容器化的环境为CentOS7.2。 安装...

huqigang ⋅ 2017/09/12 ⋅ 0

对部署的一些疑问,tomcat和war包的选择

java web工程,不考虑大并发集群这些情况,就问我有几个war包,是一个tomcat部署一个,还是一个tomcat部署多个?为什么要这要选择? 还有提到这个,可能会提到docker,我一直在想不考虑方便快...

迷途的码农 ⋅ 2016/11/14 ⋅ 6

jenkins笔记(1)

一、相关概念 > ## 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成...

KaliArch ⋅ 2017/12/14 ⋅ 0

使用Docker构建持续集成与自动部署的Docker集群

为什么使用Docker 从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docker.com 里面的镜像...

12叔 ⋅ 2016/03/09 ⋅ 27

利用Jenkins生成maven项目镜像及容器

利用Jenkins生成maven项目镜像及容器 天云软件北京天云融创云计算云平台2018-01-031 阅读 maven微服务Jenkinsdocker 导读 :本文根据天云软件研发工程师12月28日在DockOne技术社区的分享整理...

天云软件_北京天云融创_云计算_云平台 ⋅ 01/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 33分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 33分钟前 ⋅ 0

Dubbo @Activate注解使用和实现解析

Activate注解标识一个扩展是否被激活和使用,可以放在定义的类上和方法上,dubbo用它在SPI扩张类定义上,标识这个扩展实现激活的条件和时机,先看下定义: /** * Activate * <p/> * ...

哲别0 ⋅ 40分钟前 ⋅ 0

6.5 zip压缩工具 tar打包 打包并压缩

1.tar tar命令格式 [-zjxcvfpP] filename tar -z:表示同时用gzip压缩。 -j:表示同时用bzip2压缩。 -J:表示同时用xz压缩。 -x:表示解包或者解压缩。 -t:表示查看tar包里的文件。 -c:表示建...

oschina130111 ⋅ 42分钟前 ⋅ 0

Linux系统工程狮养成记

如今的社会,随着时代的发展,出现了很多职业,像电子类,计算机类的专业,出现了各种各样的工程师,有算法工程师,java工程师,前端工程师,后台工程师,Linux工程师,运维工程师等等,不同...

六库科技 ⋅ 49分钟前 ⋅ 0

Linux 机器的渗透测试命令备忘表

如下是一份 Linux 机器的渗透测试备忘录,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用。 此外,你还可以从这儿(https://gbhackers.com/c...

寰宇01 ⋅ 50分钟前 ⋅ 0

windows 安装java开发环境,配置jdk

下载jdk安装文件 链接:https://pan.baidu.com/s/1UEKPjnAdMqNj612B39Pfsg 密码:ipqx 如果javac无法使用 1,检查环境变量名称中是否有空格。。。,去除后即可 2,将JAVA_HOME替换为原始路径...

阿豪boy ⋅ 52分钟前 ⋅ 0

简析log4j的实现方式

刚加入新公司,对日志的要求比较严格,对此特意花了几天时间看了一下log4j的源码,大概了解了一下log4j的实现方式,总结如下: log4j的实现分为两个步骤:log4j.xml的加载,logger的使用 这里...

zdatbit ⋅ 今天 ⋅ 0

win环境下jdk7与jdk8共存配置

1.jdk安装包 jdk安装包 安装步骤略 2.jdk等配置文件修改 在安装JDK1.8时(本机先安装jdk1.7再安装的jdk1.8),会将java.exe、javaw.exe、javaws.exe三个文件copy到了C:\Windows\System32,这...

泉天下 ⋅ 今天 ⋅ 0

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部