设为首页 收藏本站
查看: 636|回复: 0

[经验分享] Docker创建tomcat镜像

[复制链接]

尚未签到

发表于 2018-12-2 14:26:19 | 显示全部楼层 |阅读模式
简介
  Docker安装
Docker基础命令
Docker镜像使用
实验环境
  系统版本:centos7x3.10.0-514.el7.x86_64
  Docker版本:Docker version 1.13.1(yum安装)
  关闭防火墙并禁止开机自启
systemctl stop firewalld.service
systemctl disable firewalld
  关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  重启 reboot
一、安装docker
1、检查默认存储驱动(两种查看方式)
  ls  -l  /sys/class/misc/device-mapper
http://i2.运维网.com/images/blog/201809/07/c5dd4578cfca7baeff913056fac0593f.png
  grep device-mapper /proc/devices
http://i2.运维网.com/images/blog/201809/07/b552b18f7ed9a71fa3a9dd10faecee7d.png
注:命令结果有输出即为支持,如未有任何输出则需安装device-mapper软件包,并使用modprobe dm_mod加载该模块。
2、安装docker
  yum -y install docker
3、启动Docker守护进程
1)启动docker
  systemctl start docker
2)设置docker开机自启
  systemctl enable docker
3)查看docker状态
  docker info
二、下载tomcat镜像
1、查找tomcat镜像
  docker search tomcat
2、下载tomcat镜像
  docker pull tomcat
  注:根据你需要的版本名称下载即可。
3、查看镜像
  docker images
4、生成tomcat容器并映射端口8080
  docker run -it -p 8080:8080  docker.io/tomcat /bin/bash
http://i2.运维网.com/images/blog/201809/07/d783f0ef310e2abc3180ea4807e8debd.png
注:以上截图是运行容器并进入容器,也可以使用-itd后端运行容器不进入容器,然后使用attach或者exec进入容器命令进入容器,启动tomcat服务。
5、启动tomcat

  注:以上截图是在启动容器时将进入容器,这样方便我们直接启动tomcat,切记退出容器使用ctrl+p然后ctrl+q这样容器会在后端继续运行。
6、监听tomcat服务端口(8080)
  netstat -antupl | grep 8080
http://i2.运维网.com/images/blog/201809/07/820c36183dab51fae07c726556c0b05e.png
注:看到以上截图说明我们tomcat容器启动正常。
7、验证tomcat
  访问网页:http://192.168.152.169:8080/
http://i2.运维网.com/images/blog/201809/07/6ec3da1981eee8e23a5a21aa3e5dbbce.png
注:看到这个截图说明tomcat正常工作。
三、创建tomcat镜像(常用两种方式)
方式一:
1、查看正在运行的容器
  docker  ps
2、将war包上传到服务器

3、查看容器里tomcat的地址
  docker  exec  -it  容器id  /bin/bash
http://i2.运维网.com/images/blog/201809/07/c4e8b01a90422b2d106de1dee202e140.png
注:以上这步截图可能有的童鞋不太理解啥意思?简单解释一下什么是容器里的tomcat地址呢?没错你猜对了就是tomcat绝对路径/usr/local/tomcat/目录,但是随着tomcat的版本不同,它的目录路径也不太一样,比如说你是源码安装或高低版本。但是有的童鞋还是想问,看这个路径干嘛?问到重点上来,因为这一步是为了后边创建自己的tomcat镜像做铺垫,说白了就是为后边拷贝war包或者写Dockerfile文件时,需要用到这个路径。
4、通过命令上线war包
1)进入tomcat容器
  docker  exec  -it  容器id  /bin/bash
2)删除tomcat容器里默认网页
  rm  -rf  webapps/*
http://i2.运维网.com/images/blog/201809/07/0cb8265572884aef788c5dea09e34691.png
3)上线war包
  //将war包手动拷贝到tomcat容器里
  docker cp jenkins.war  12542fe00fac:/usr/local/tomcat/webapps/
http://i2.运维网.com/images/blog/201809/07/6108e5eb65c6be3dc69166e5017a93e9.png
  //进入tomcat容器并查看容器里是否有这个war包
  docker exec -it 1254 /bin/bash
ls webapps/
http://i2.运维网.com/images/blog/201809/07/f28ec059d767bc2271677fa00872feec.png
  //访问网页验证
访问网址:http://192.168.152.169:8080/jenkins
http://i2.运维网.com/images/blog/201809/07/45939dad2bdee30357885708c65dcc8b.png
注:到这里说明我们手动上线环境工作正常!切记这种方式只能使用在测试环境,官网建议在真实上线环境,需要使用Dockerfile来创建自己的镜像并启动!
方式二:
1、查看正在运行的容器
  docker  ps
2、将war包上传到服务器

3、查看容器里tomcat的地址
  docker  exec  -it  容器id  /bin/bash
http://i2.运维网.com/images/blog/201809/07/dafeda9fbf9f3ec9e0164a928b5bfd9c.png
4、通过Dockerfile文件上线war包
1)进入tomcat容器
  docker  exec  -it  容器id  /bin/bash
2)删除tomcat容器里默认网页
  rm  -rf  webapps/*
http://i2.运维网.com/images/blog/201809/07/a410234646d3b9b6baccedc91a1d1eaf.png
3)编辑Dockerfile文件
  vi  Dockerfile
  FROM docker.io/tomcat:latest            指定基础镜像
MAINTAINER wangfeiyu@xingyoucai.com         作者邮箱
COPY  jenkins.war   /usr/local/tomcat/webapps        将当前路径的war包拷贝到指定路径
4)查看Dockerfile文件权限

5)生成新的tomcat镜像
  docker build . -t tomcat-demo:v1
http://i2.运维网.com/images/blog/201809/07/b710def14bd4f578c22e315ba2e6bc21.png
注:这里有的童鞋已经发现在这里有一个点,这个点的意思就是当前路径的意思,如果是其他路径,适当修改即可。至于后边的镜像名称和标签,自己随便写,记住即可!
6)查看镜像
  docker images
http://i2.运维网.com/images/blog/201809/07/7202b6b4bdf13517ae04f4bd4ef7ef5d.png
7)启动新的tomcat镜像
  docker run -itd -p 8080:8080 tomcat-demo:v1
http://i2.运维网.com/images/blog/201809/07/b5998b1ae088f06f5fee5726de51cbc3.png
注:切记如果有其他容器占用8080端口,他会提示启动报错,所以我们在启动新镜像时,最好提前把8080端口释放或者使用其他端口。
8)查看启动的容器
  docker ps
http://i2.运维网.com/images/blog/201809/07/82cb8653664a7c35e70f86a39f2b48c0.png
9)访问网页验证
  网页访问:http://192.168.152.169:8080/jenkins
http://i2.运维网.com/images/blog/201809/07/a9630c76966d37f75d5448646ca86b9c.png
注:以上通过构建dockerfile文件来创建自己的镜像顺利完成,切记不是说自己写一个文档就可以创建镜像了,而是因为在基础镜像上添加一些东西,所以才可以创建镜像的,也就是说创建任何镜像的前提都是有同样的基础镜像。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642452-1-1.html 上篇帖子: tomcat构建及session保持 下篇帖子: Linux学习总结(五十)安装jdk和tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表