docker构建tomcat镜像
下载centos镜像
# docker pull daocloud.io/centos:7
[root@localhost ~]# docker pull daocloud.io/centos:
: Pulling from centos
a02a4930cb5d: Pull complete
Digest: sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0
Status: Downloaded newer image for daocloud.io/centos:
[root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/centos 1e1148e4cc2c weeks ago 202MB
创建一个镜像
# docker tag daocloud.io/centos:7 centos
[root@localhost ~]# docker tag daocloud.io/centos: centos
[root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/centos 1e1148e4cc2c weeks ago 202MB
centos latest 1e1148e4cc2c weeks ago 202MB
删除源镜像
# docker rmi daocloud.io/centos:7
[root@localhost ~]# docker rmi daocloud.io/centos:
Untagged: daocloud.io/centos:
Untagged: daocloud.io/centos@sha256:365fc7f33107869dfcf2b3ba220ce0aa42e16d3f8e8b3c21d72af1ee622f0cf0
[root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 1e1148e4cc2c 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..tar.gz kjxy.war
[root@localhost ~]#
[root@localhost ~]# cp jdk-7u67-linux-x64.tar.gz apache-tomcat-7.0..tar.gz software/
[root@localhost ~]#
[root@localhost ~]# cd software/
[root@localhost software]#
[root@localhost software]# ls
apache-tomcat-7.0..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..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..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..0_67
export PATH=$JAVA_HOME/bin:$PATH
sh /home/tomcat/bin/catalina.sh run
为运行脚本添加执行权限
# chmod 777 run.sh
[root@d8222810d886 ~]# chmod run.sh
[root@d8222810d886 ~]#
[root@d8222810d886 ~]# ll
total
-rw-------. root root Dec : anaconda-ks.cfg
-rwxrwxrwx. root root Jan : run.sh
给tomcat运行脚本添加权限
[root@d8222810d886 ~]# chmod +x /home/tomcat/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" minutes ago Exited () 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 seconds ago 508MB
centos latest 1e1148e4cc2c weeks ago 202MB
启动tomcat容器
首先,新建/root/webapps/目录,把war包拷贝到该目录
# mkdir webapps
[root@localhost ~]# ls
anaconda-ks.cfg apache-tomcat-7.0..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 : -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" seconds ago Up seconds 0.0.0.0:->/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
docker构建tomcat镜像的更多相关文章
- 用Docker构建Tomcat镜像
构建tomcat镜像 创建工作目录 [root@elk-node2 tomcat]# mkdir tomcat [root@elk-node2 tomcat]# cd tomcat [root@elk ...
- docker构建自定义镜像
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...
- 如何使用Dockerfile构建Tomcat镜像并部署war
我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...
- dockerfile构建Tomcat镜像
dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...
- docker制作tomcat镜像
准备cestos镜像.tomcat.jdk cestos是docker pull下来的 在/opt/下创建docker:mkdir -p /opt/docker 把tomcat和jdk解压到docke ...
- Docker | 制作tomcat镜像并部署项目
本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目 原料准备: tomcat.jdk安装包,dockerfile文件 步骤 1.准备压缩包 jdk-8u301-linux-x64.ta ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
- Docker安装Tomcat镜像并部署web项目
一.安装Tomcat 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取官方的镜像 docker pull tomcat 等待下载完毕,需要一些时间. ...
- 用Docker构建MySQL镜像
构建MySQL镜像 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过D ...
随机推荐
- Mybatis(四)
参考网址如下: http://www.cnblogs.com/xdp-gacl/p/4264425.html 向大家推荐 博客园 孤傲苍狼 大哥的博客,东西写的有水平.小弟记录一下自己的学习历程,自勉 ...
- 【BZOJ1305】【CQOI2009】 dance跳舞
看menci的博客点出二分的思路然后做出来,menci太强辣 原题: 一次舞会有n个男孩和n个女孩.每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞.每个男孩都不会和同一个女孩跳两首(或更多)舞曲. ...
- Producer and consumer
Below is from wiki, just for study & record. In computing, the producer–consumer problem (also k ...
- AD10 没有原理图是否可以修改 PCB
AD10 没有原理图是否可以修改 PCB 有朋友问 AD 是否可以在没有原理的情况下修改 PCB 呢? 答案是肯定的,可以. 比如增加元件和网络,可以先增加元件封装,再打开网络管理给焊盘加上网络. 相 ...
- Spring技术内幕总结 - AOP概述
AOP是Aspect-Oriented Programming(面向方面/切面编程)的简称.Aspect是一种新的模块化机制,用来描述分散在对象.类或函数中的横切关注点.分离关注点使解决特定领域问题的 ...
- supervisorctl 常用命令
命令官方文档:http://supervisord.org/running.html#running-supervisorctl supervisorctl 常用命令: supervisorctl 常 ...
- webpack 4 学习资料
webpack 4 学习资料 资料 网址 webpack 中文版 https://webpack.docschina.org/configuration/ webpack 4 教程 https://s ...
- npx:npm包执行器
npx 作用: 单次执行命令而不需要安装到本机 执行依赖包里的二进制文件 使用不同版本的 node 利用 npx 可以下载模块这个特点,可以指定某个版本的 Node 运行脚本.它的窍门就是使用 npm ...
- python实现切换代理ip
大量的处理爬虫的时候,IP地址容易被封掉,这个时候可以使用代理IP来帮助完成接下来的任务了 使用Requests模块来完成请求,代码如下: import urllib.requestimport re ...
- 分页-jquery.page.js插件在使用时重复触发“上一页”和“下一页”操作
HTML代码 <!-- <div class="zxf_pagediv" id="Pagination" style="display:b ...