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 ...
随机推荐
- ionic1实现热更新以版本检测更新安装包的方法
1.需要下载热更新插件:插件名称是cordova-hot-code-push 首先打开cli,执行命令 npm install -g cordova-hot-code-push-cli 此功能主要是为 ...
- CF643D Bearish Fanpages
题意 英文版题面 Problems Submit Status Standings Custom test .input-output-copier { font-size: 1.2rem; floa ...
- mongodb添加验证用户 删除用户
1.创建用户 db.createUser( { user:<name_string>, #字符串 pwd:<password_string> ...
- Sql server日期函数用法
SQL日期函数 SQL日期函数中的类型码可以为0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 ,20,21,22,23,24,25,100,101,102,103,104,105 ...
- vue的watcher 关于数组和对象
数组 不能被监听到的情况 1.直接下标赋值(但对象直接修改原有属性值可以渲染视图,虽然也监听不到) 2.修改数组length 解决方法: this.$set(this.arr,index,val) p ...
- node api 之:stream - 流
stream 模块可以通过以下方式使用: const stream = require('stream'); 流可以是可读的.可写的.或者可读可写的. 所有的流都是 EventEmitter 的实例. ...
- php Call to undefined function imagettftext()问题解决
测试代码出现报错Call to undefined function imagettftext(),发现是gd库出现了问题 通过phpInfo()查看 gd库已经开启,但是里边没有freeType 和 ...
- Docker 制作自己的镜像
1. 下载tomcat镜像 docker pull hub.c.163.com/library/tomcat:latest 2. 创建Dockfile vi Dockerfile from hub.c ...
- Hive 特殊分隔符处理
HIVE特殊分隔符处理 Hive对文件中的分隔符默认情况下只支持单字节分隔符,,默认单字符是\001.当然你也可以在创建表格时指定数据的分割符号.但是如果数据文件中的分隔符是多字符的,如下图: 01| ...
- Linux Centos配置ssh客户端工具putty
配置ssh客户端工具putty 1.直接点击putty.exe文件 2.配置putty 3.配置putty编码 4.配置putty字体大小 5.配置putty样式 6.保存配置信息 7.配置MTp ...