docker构建tomcat镜像
下载centos镜像
# docker pull daocloud.io/centos:7
[root@localhost ~]# docker pull daocloud.io/centos:7 7: Pulling from centos a02a4930cb5d: Pull complete Digest: sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0 Status: Downloaded newer image for daocloud.io/centos:7 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE daocloud.io/centos 7 1e1148e4cc2c 7 weeks ago 202MB
创建一个镜像
# docker tag daocloud.io/centos:7 centos
[root@localhost ~]# docker tag daocloud.io/centos:7 centos [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE daocloud.io/centos 7 1e1148e4cc2c 7 weeks ago 202MB centos latest 1e1148e4cc2c 7 weeks ago 202MB
删除源镜像
# docker rmi daocloud.io/centos:7
[root@localhost ~]# docker rmi daocloud.io/centos:7 Untagged: daocloud.io/centos:7 Untagged: daocloud.io/centos@sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 1e1148e4cc2c 7 weeks ago 202MB [root@localhost ~]#
创建一个/root/software/目录,并把安装包放在该目录下
[root@localhost ~]# mkdir software [root@localhost ~]# ls anaconda-ks.cfg jdk-7u67-linux-x64.tar.gz software apache-tomcat-7.0.55.tar.gz kjxy.war [root@localhost ~]# [root@localhost ~]# cp jdk-7u67-linux-x64.tar.gz apache-tomcat-7.0.55.tar.gz software/ [root@localhost ~]# [root@localhost ~]# cd software/ [root@localhost software]# [root@localhost software]# ls apache-tomcat-7.0.55.tar.gz jdk-7u67-linux-x64.tar.gz
启动容器
# docker run -it -v /root/software/:/mnt/software/ centos /bin/bash
[root@localhost ~]# docker run -it -v /root/software/:/mnt/software/ centos /bin/bash
[root@d8222810d886 /]#
[root@d8222810d886 /]# cd /mnt/software/
[root@d8222810d886 software]#
[root@d8222810d886 software]# ls
apache-tomcat-7.0.55.tar.gz jdk-7u67-linux-x64.tar.gz
为了搭建 Java Web 运行环境,需要安装 JDK 与 Tomcat,下面的过程均在容器内部进行。
安装JDK
创建jdk存储目录
# mkdir /usr/jdk64/
解压jdk到存储目录
# tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C /usr/jdk64/
操作过程如下:
[root@d8222810d886 ~]# mkdir /usr/jdk64/ [root@d8222810d886 ~]# [root@d8222810d886 ~]# tar -zxf /mnt/software/jdk-7u67-linux-x64.tar.gz -C /usr/jdk64/ [root@d8222810d886 ~]# [root@d8222810d886 ~]# ls /usr/jdk64/ jdk1.7.0_67
安装tomcat
解压tomcat到存储目录
# tar -zxf /mnt/software/apache-tomcat-7.0.55.tar.gz -C /home/
[root@d8222810d886 ~]# tar -zxf /mnt/software/apache-tomcat-7.0.55.tar.gz -C /home/ [root@d8222810d886 ~]# [root@d8222810d886 ~]# ls /home/ apache-tomcat-7.0.55[root@d8222810d886~]# mv /home/apache-tomcat-7.0.55/ /home/tomcat7[root@d8222810d886~]# ls /home/tomcat7
编写运行脚本
编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat。
# vi /root/run.sh
[root@d8222810d886 ~]# vi run.sh [root@d8222810d886 ~]# [root@d8222810d886 ~]# cat run.sh #!/bin/bash export JAVA_HOME=/usr/jdk64/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:$PATH sh /home/tomcat7/bin/catalina.sh run
为运行脚本添加执行权限
# chmod 777 run.sh
[root@d8222810d886 ~]# chmod 777 run.sh [root@d8222810d886 ~]# [root@d8222810d886 ~]# ll total 8 -rw-------. 1 root root 3415 Dec 5 01:37 anaconda-ks.cfg -rwxrwxrwx. 1 root root 124 Jan 29 14:17 run.sh
给tomcat运行脚本添加权限
[root@d8222810d886 ~]# chmod +x /home/tomcat7/bin/*.sh [root@d8222810d886 ~]# [root@d8222810d886 ~]# ll /home/apache-tomcat-7.0.55/bin/*.sh -rwxr-xr-x. 1 root root 20779 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/catalina.sh -rwxr-xr-x. 1 root root 1922 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/configtest.sh -rwxr-xr-x. 1 root root 7888 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/daemon.sh -rwxr-xr-x. 1 root root 1965 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/digest.sh -rwxr-xr-x. 1 root root 3459 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/setclasspath.sh -rwxr-xr-x. 1 root root 1902 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/shutdown.sh -rwxr-xr-x. 1 root root 1904 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/startup.sh -rwxr-xr-x. 1 root root 5024 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/tool-wrapper.sh -rwxr-xr-x. 1 root root 1908 Jul 18 2014 /home/apache-tomcat-7.0.55/bin/version.sh
退出容器
[root@d8222810d886 ~]# exit exit [root@localhost ~]# [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d8222810d886 centos "/bin/bash" 16 minutes ago Exited (0) 5 seconds ago zealous_galileo
创建tomcat镜像
根据某个“容器 ID”来创建一个新的“镜像”
# docker commit d8222810d886 djltomcat:latest
[root@localhost ~]# docker commit d8222810d886 djltomcat:latest sha256:559211e0b347204543772eddb94c5b73810a8d2746fb30d9a24c99e33b89b3e9 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE djltomcat latest 559211e0b347 22 seconds ago 508MB centos latest 1e1148e4cc2c 7 weeks ago 202MB
启动tomcat容器
首先,新建/root/webapps/目录,把war包拷贝到该目录
# mkdir webapps
[root@localhost ~]# ls anaconda-ks.cfg apache-tomcat-7.0.55.tar.gz jdk-7u67-linux-x64.tar.gz kjxy.war software [root@localhost ~]# [root@localhost ~]# mkdir webapps [root@localhost ~]# [root@localhost ~]# cp kjxy.war webapps/ [root@localhost ~]# [root@localhost ~]# ls webapps/ kjxy.war
编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat
# docker run -d -p 58080:8080 -v /root/webapps/:/home/tomcat7/webapps/ --name test djltomcat:latest /root/run.sh
[root@localhost ~]# docker run -d -p 58080:8080 -v /root/webapps/:/home/tomcat7/webapps/ --name test djltomcat:latest /root/run.sh 87f68c345d3bd42bd4a87de96430e7dfa7f047688b66f0ea52d1e1778a4a842b [root@localhost ~]# [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 87f68c345d3b djltomcat:latest "/root/run.sh" 20 seconds ago Up 18 seconds 0.0.0.0:58080->8080/tcp test [root@localhost ~]# [root@localhost ~]# cd webapps [root@localhost webapps]# [root@localhost webapps]# ls kjxy kjxy.war
在浏览器中,输入宿主IP和端口号,即可访问 Tomcat:
参考博客:
使用Docker搭建Tomcat运行环境
https://www.cnblogs.com/areyouready/p/8949991.html
end
转载于:https://www.cnblogs.com/djlsunshine/p/10329192.html
docker构建tomcat镜像相关推荐
- docker 构建tomcat镜像部署war包
docker 构建tomcat容器部署war包 拉取tomcat镜像 docker pull tomcat:8.5-alpine 查看镜像 docker images 构建并启动容器 docker r ...
- web重启tomcat_使用docker构建jdk镜像和web服务镜像
一.构建jdk镜像 FROM centos WORKDIR /home/lily ADD jdk-8u91-linux-x64.tar.gz /home/lily RUN mv jdk1.8.0_91 ...
- Docker构建JDK 镜像
Docker构建JDK 镜像 在 Docker官网中的openJDK 镜像中,默认不是使用的北京时间,会导致启动jar应用程序时时区不对的情况,这里在 openJDK镜像的基础上,设置使用中国北京时间 ...
- docker构建hadoop镜像、docker-compose启动hdfs
之前使用镜像singularities/hadoop:2.8安装过hdfs,但鉴于这个镜像已经很久没更新了,今天就手动安装一下hadoop,并构建成镜像,方便以后使用. 参考文档:docker构建ha ...
- Docker构建MySQL镜像并初始化
文章目录 Docker构建MySQL镜像并初始化 Dockerfile 的一些常用语法 FROM RUN CMD ENV COPY ADD WORKDIR EXPOSE 构建自带初始化的 MySQL ...
- 使用docker构建jenkins镜像并运行容器
https://my.oschina.net/donhui/blog/470372?p={{currentPage+1}} 摘要: 使用docker构建jenkins镜像并运行容器 目录: 1.基 ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
目录 概述 基本环境 docker网络 安装MongoDb 构建YAPI镜像 运行YAPI Nginx反向代理 挂域名 概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测 ...
- docker生成tomcat镜像
应用场景 有时候docker公共镜像库中下载下来的镜像,可能不是自己想要的,没办法,自己也可以制作一个自己想要的镜像,然后发布到公共资源镜像中,也可以保存到私有仓库中,以防后期自己也需要使用. 操作步 ...
- docker制作tomcat镜像并部署war包
模拟面试小白: 需求:有一台没有网络的服务器,使用docker部署war包,没有tomcat镜像,限时30分钟. 小白:没网部署war包干啥,是不是工作不饱和让你们太闲了. 我:傻瓜,怪我没表达清楚, ...
最新文章
- JavaFX列表示例
- c语言陷阱试题,超级经典计算机二级C语言陷阱考试题.doc
- 基于python的作业管理系统_python day18 作业 Django 开发主机管理系统
- 台式电脑键盘按键错乱_电脑键盘按键怕误触怎么办?用这款软件帮你屏蔽指定键盘按键!支持替换按键!...
- 被指抄袭后 新浪微博APP绿洲更换Logo 重新上架
- 单片机引脚复用使用不当会导致bug
- SqlServer获取数据表字段自定义编号
- mybait-plus实现动态自定义查询条件
- 老板子华硕A7N8X-X
- NDK在Linux下载配置以及C、C++编译配置(交叉编译)
- 使用端口扫描工具消除端口安全威胁
- 计算机共享w7系统文件共享,win7系统怎么共享文件 电脑一键共享文件方法教程...
- Tuna Scope 金枪鱼猎手:当顶级吃货,搞起图像识别
- Japanese Student Championship 2021
- Python获取对象所占内存大小方法
- Mybatis| Bug合集
- R语言分析股票指数的GARCH效应
- 【CZY选讲·吃东西】
- java.sql.SQLException: Parameter number X is not an OUT parameter
- 校园闲置物品(跳蚤市场)交易平台的设计与实现
热门文章
- Spring错误Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Reflec
- Python爬取瀑布流百度图片
- 数据中心IDC、ODC、EDC、DC分别是什么
- 刀光剑影的大片背后站着特效巨人
- 六大项目权威对比 三款互联网电视横评(手机平板点餐系统应用开发)
- c++类之“对象包含与成员函数不兼容的类型限定符”与“对象含有与成员 函数 “CarBody::Geta” 不兼容的类型限定符”错误的修改
- PCI/PCIE之总线、设备枚举
- 3Q 大战 双方口述
- python 随机生成大乐透号码
- linux识别require语法,Scala 的参数检查与断言: require, assert, assume 和 ensuring