环境:centos7

安装tomcat

第一步:联网

第二步:开启docker

systemctl start docker

第三步:拉取镜像

docker pull tomcat             //下载tomcat镜像

docker pull tomcat   

第四步:创建容器

docker run -d -p 8080:8080 --name tomcat9 tomcat        //启动基于tomcat镜像创建tomcat9的容器

docker run -d  宿主机端口:容器端口 --name 容器名  基于的镜像名

docker run -d -p 8080:8080 --name tomcat9 tomcat

docker ps

docker ps
docker exec -it tomcat9 /bin/bash

docker exec -it tomcat9 /bin/bash      //进入tomcat9容器

 

显而易见,这个时候打开火狐浏览器输入localhost:8080并不可以看到界面

文件报错404,显示文件并不存在

docker exec -it tomcat9 /bin/bash

第五步:修改404错误

root@8696593e28a3:/usr/local/tomcat# whereis tomcat      //查看tomcat的路径

whereis tomcat

进入路径,查看文件信息,进入webapps,查看文件,里面并没有文件,这就是网页报错404的原因,因为找不到文件

root@8696593e28a3:/usr/local/tomcat# cd /usr/local/tomcat
root@8696593e28a3:/usr/local/tomcat# ls

root@8696593e28a3:/usr/local/tomcat#
root@8696593e28a3:/usr/local/tomcat/webapps# ls

 cd /usr/local/tomcat
ls
cd webapps
ls

复制webapps.dist到webapps

cd ..
ls
cp -r webapps.dist/* webapps

回到刚才浏览器刷新可以出现以下界面

创建无需复制webapps.dist到webapps的容器

docker commit mytomcat tomcat:webdocker imagesdocker run -it --name tomcat-web tomcat:web /bin/bash

[root@localhost ~]# docker commit mytomcat tomcat:web    //创建基于tomcat9的镜像tomcat:web

[root@localhost ~]# docker images                                     //查看镜像

[root@localhost ~]# docker run -it --name tomcat-web tomcat:web /bin/bash       //启动基于镜像tomcat:web创建的镜像tomcat-web

docker ps -a

[root@localhost ~]# docker ps -a

分层下载

docker pull nginx

查看镜像分层的方式可以通过 docker image inspect 命令!

docker image inspect nginx:latest

举一个简单的例子,假如基于Ubuntu Linux 16.04创建一个新的镜像,这就是新镜像的第一层;如果在该镜像中添加Python包,就会在基础镜像层之上创建第二个镜像层;如果继续添加一个安全补丁,就会创建第三个镜像层。

本人理解的意思就是,想要下载A镜像和B镜像,A镜像5M,B镜像3M,A镜像和B镜像有2M文件相似,如果不使用分层下载直接打包下载,那么一共想要耗费8M的流量。但是如果使用分层下载,那么只需耗费6M的流量,那2M的内容可以实现共享。

当然这只是我个人理解,如果有误欢迎指正哦!

UnionFS(联合文件系统)

Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

数据卷:

docker run -it -v /home/ceshi:/home --name tomcat-volume tomcat /bin/bash

[root@localhost ~]# docker run -it -v /home/ceshi:/home --name tomcat-volume tomcat /bin/bash

验证数据同步

容器:

宿主机:

两者数据同步,即在容器里进行的操作同步到宿主机,宿主机里进行的操作也会同步到容器,如果你们不信的话,可以试试哦~

创建基于tomcat镜像的tomcat-yun容器,宿主机/home/yun与容器/home对应,宿主机/etc/yun与容器/etc对应

docker run -it -v /home/yun:/home -v  /etc/yun:/etc --name tomcat-yun tomcat /bin/bash

[root@localhost ~]# docker run -it -v /home/yun:/home -v  /etc/yun:/etc --name tomcat-yun tomcat /bin/bash

docker ——安装tomcat相关推荐

  1. Docker安装Tomcat、MySQL和Redis

    总体步骤 Docker安装Tomcat docker hub上查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull ...

  2. docker安装Tomcat

    docker安装Tomcat docker官网 1.获取镜像 docker pull tomcat 2.构建容器 docker run --name tomcat3 -p 6023:8080 -d - ...

  3. Docker 安装 Tomcat

    Docker 安装 Tomcat runoob@runoob:~/tomcat$ docker search tomcat runoob@runoob:~/tomcat$ docker pull to ...

  4. 腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目

    腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目(记录) 一.服务器修改密码(此时已安装CentOS系统) 二.防火墙添加规则 三.连接X ...

  5. Docker系列(二十一)——Docker实例三Docker安装Tomcat实例

    < Docker实例三Docker安装Tomcat实例 > 前言 在前面一篇文章种,完成了 < Docker安装Nginx实例 >,本篇将继续镜像安装教程,并完成Docker安 ...

  6. 阿里云轻量应用服务器环境搭建-Docker安装tomcat

    阿里云轻量应用服务器环境搭建-Docker安装tomcat 参考链接:https://www.runoob.com/docker/docker-install-tomcat.html 拉取官方的镜像: ...

  7. Docker安装Tomcat无法访问

    问题出现 在服务器上使用docker安装tomcat时遇到了无法访问tomcat的问题.是因为使用docker pull tomact 下载的tomcat镜像中包含有两个webapps 文件夹.一个文 ...

  8. docker安装tomcat下的日志查看

    目录 描述 进行 原因 扩展 解决 参考 描述 在本地运行的项目测试通过.可是部署到linux服务器后,发现测试出现些问题.服务器环境是使用docker安装的tomcat. 进行 一般来说,出现问题, ...

  9. 用docker安装tomcat并实现目录映射端口映射输入ip地址测试网页连接

    1.以CentOS7为例 2.先安装docker 3.再拉取tomcat 4.然后配置tomcat容器 一 .docker安装tomcat8并实现目录映射端口映射 安装docker,以免防止docke ...

  10. Docker安装Tomcat镜像并部署web项目简述

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

最新文章

  1. Fast ORB-SLAM
  2. 解决MVC返回Json中日期格式问题
  3. R语言编程艺术(1)快速入门
  4. 关押罪犯洛谷P1525
  5. Java并发编程之线程池及示例
  6. spark中使用categoricalFeaturesInfo来标记分类型变量
  7. error: field 'b' has imcomplete type
  8. 如何使用c#编写单片机程序
  9. 如何对web.config进行加密和解密
  10. python忠告_学习Python一段时间,老司机给上路新手的3点忠告!
  11. .net小插件:indent guides
  12. 【学习笔记】常见的激励函数和损失函数
  13. VMware 安装心得
  14. matlab wmaxlev函数,CT-PET小波图像融合在精确放射治疗应用研究
  15. python抓取腾讯视频弹幕_Python实战 | 如何抓取腾讯视频弹幕
  16. Pgpool-II + Watchdog 设置与测试
  17. aden -接球游戏 2.0
  18. 将动网论坛验证码修改为算术运算提问的验证码
  19. 动态生成模板(模板生成器)
  20. Java-方法的详解( 看完之后,我不允许还有人不懂!)

热门文章

  1. 基于Java+SpringBoot+vue实现图书借阅和销售商城一体化系统
  2. drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
  3. 想知道数字1-13的深层含义吗?
  4. 移动浏览器内核及连接数
  5. 亏麻了,华为离职后年终奖照旧发。。
  6. 什么浏览器好用稳定速度快?
  7. Android 多渠道配置
  8. 慧荣SMI SM3255主控三星Flash芯片专用量产工具SM3255_J0324
  9. Pytorch 如何计算三角函数
  10. 戴尔聚合网络适配器(Converged Network Adapter, CNA) 在RHEL 6 SP1环境下可开箱即用