下载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镜像的更多相关文章

  1. 用Docker构建Tomcat镜像

    构建tomcat镜像 创建工作目录 [root@elk-node2 tomcat]# mkdir tomcat [root@elk-node2 tomcat]# cd tomcat [root@elk ...

  2. docker构建自定义镜像

    docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...

  3. 如何使用Dockerfile构建Tomcat镜像并部署war

    我们都知道Docker构建一个镜像有两种方式: 使用`docker commit`命令 使用`Dockerfile`文件和`docker build`命令 那么这两种方式有何区别呢? 相同点:底层实现 ...

  4. dockerfile构建Tomcat镜像

    dockerfile构建Tomcat镜像 一.镜像分层概念 二.制作tomcat镜像 2.1.创建分层目录 [root@node2 ~]# mkdir /app/{web/{nginx,tomcat, ...

  5. docker制作tomcat镜像

    准备cestos镜像.tomcat.jdk cestos是docker pull下来的 在/opt/下创建docker:mkdir -p /opt/docker 把tomcat和jdk解压到docke ...

  6. Docker | 制作tomcat镜像并部署项目

    本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目 原料准备: tomcat.jdk安装包,dockerfile文件 步骤 1.准备压缩包 jdk-8u301-linux-x64.ta ...

  7. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...

  8. Docker安装Tomcat镜像并部署web项目

    一.安装Tomcat 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取官方的镜像 docker pull tomcat 等待下载完毕,需要一些时间. ...

  9. 用Docker构建MySQL镜像

    构建MySQL镜像 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过D ...

随机推荐

  1. curl提示不支持https协议解决方法

    根据网上的资料,这个问题的原因是因为在安装curl时使用默认安装,但是默认安装并不支持https协议 简单粗暴的办法就是,卸载重新安装curl(有一种方法是重新编译就可以了,然后使用编译后的可执行文件 ...

  2. nginx配置基于域名的虚拟主机

    其实基于域名和基于ip的虚拟主机配置是差不多的,在配置基于ip的虚拟主机上我们只需要修改几个地方就能变成基于域名的虚拟主机,一个是要修改域名,一个是host文件直接看代码 [root@localhos ...

  3. MySQL DataType--数值类型

    =========================================================MySQL常见的整数类型有:TINYINT: 占用8位空间SMALLINT: 占用16 ...

  4. solr 5.0.0 bin/start脚本详细解析

    参考文档:https://cwiki.apache.org/confluence/display/solr/Solr+Start+Script+Reference#SolrStartScriptRef ...

  5. Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Apache Mesos and Kubernetes

    转自:https://eng.uber.com/makisu/?amp To ensure the stable, scalable growth of our diverse tech stack, ...

  6. WikiBooks/Cg Programming

    https://en.wikibooks.org/wiki/Cg_Programming Basics Minimal Shader(about shaders, materials, and gam ...

  7. CIDR合并

    code #include <iostream> #include <list> #include <sstream> #include <vector> ...

  8. MongoDB索引的种类与使用

    一:索引的种类 1:_id索引:是绝大多数集合默认建立的索引,对于每个插入的数据,MongoDB都会自动生成一条唯一的_id字段2:单键索引: 1.单键索引是最普通的索引 2.与_id索引不同,单键索 ...

  9. Centos6.8 Mysql5.6 安装配置教程(转)

    准备Mysql文件: 方式一:wget url(mysql下载地址); 方式二:从官网下载mysql,上传至centos(小编使用的Nodepad++的NppFTP具体做法请百度);   检查之前安装 ...

  10. php上传导入文件 nginx-502错误

    4. php程序执行时间过长而超时,检查nginx和fastcgi中各种timeout设置.(nginx 中的  fastcgi_connect_timeout 300;fastcgi_send_ti ...