Docker(39)- docker 实战二之安装 Tomcat
背景
参考了狂神老师的 Docker 教程,非常棒!
https://www.bilibili.com/video/BV1og4y1q7M4?p=15
直接运行容器
本地找不到镜像会自动下载
--rm
- Automatically remove the container when it exits
- 该参数官方推荐,一般用来测试,这个容器用完就会自动删除,用完即删

下载 ing
下载成功后,容器内部运行日志

能看到最后在 8080 端口运行成功
停止运行容器,查看镜像和容器列表

刚刚下载的镜像还在,但是容器已经自动删除了
下载 tomcat 最新版镜像
docker pull tomcat
查看下载的镜像
docker images
运行容器
- -d:后台守护Inc方式运行
- -p:端口映射,容器内 8080 端口映射到宿主机 8080 端口
- --name:自定义容器名
docker run -d -p 8080:8080 --name tomcat01 tomcat
浏览器访问 8080 端口验证 Tomcat

进入容器内部终端模式
docker exec -it tomcat01 /bin/bash
查看目录
# 找不到命令
ll # 正常命令
ls -l

进入 webapps 目录

webapps 目录下啥东西都没
直接访问 8080 报 404 存在的两个问题
- linux 命令变少了
- webapps 目录为空
- 所以导致直接访问 8080 端口无法正常打开 Tomcat
原因
阿里云镜像的原因,阿里云默认是最小的镜像,所以不必要的都剔除掉,保证最小可运行的环境!
进入 webapps.dist 目录

发现 Tomcat 需要用到的目录和文件都在里面
从 webapps.dist 目录下复制所有内容到 webapps 目录下
cp -r webapps.dist/* webapps/

多个目录复制记得加参数 -r
再次访问 8080 端口验证 Tomcat

Docker(39)- docker 实战二之安装 Tomcat的更多相关文章
- Docker系列之实战:3.安装MariaDB
环境 [root@centos181001 ~]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) [root@centos1 ...
- java web开发环境配置系列(二)安装tomcat
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...
- 部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,先去tomcat官网下载一个适合linux的版本:tar.gz 2,然后通过FileZIlla传到服务器的/opt目录: 3,然后创建目录 并解压缩 ...
- Linux下安装Tomcat服务器和部署Web应用
一.上传Tomcat服务器
- CentOS安装tomcat
一.下载Tomcat 1..进入Tomcat官网:http://tomcat.apache.org/ 左侧选择相应的版本 点击Tomcat 6.0后 点击tar.gz下载apache-tomcat-6 ...
- 转】Linux下安装Tomcat服务器和部署Web应用
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4097608.html 感谢! 一.上传Tomcat服务器
- 安装Tomcat指定JDK(转)
一.应用实例 一般情况下一台服务器只跑一个业务,那么就直接配置一套环境,设置好Java环境变量即可.某些时候一台服务器上会安装多个业务,而且各个业务需要的JDK版本各不相同,或者为了使业务独立开来,需 ...
- linux下安装tomcat和部署web应用
孤傲苍狼 只为成功找方法,不为失败找借口! Linux下安装Tomcat服务器和部署Web应用 一.上传Tomcat服务器
- 第一次项目上Linux服务器(三:安装Tomcat及相关命令)
一.下载Tomcat 去官网:http://tomcat.apache.org/ 找到要下载的Tomcat 本人下载的是apache-tomcat-8.5.29.tar.gz,百度云资源链接:链接:h ...
随机推荐
- FROM-4-TO-6!!!!!!!!! - OO第二单元总结
电梯的这三次作业是对并发编程的一次管窥,感觉收获还是蛮多的.在设计上有好的地方也有不足,这里简单回顾总结一下 设计总述 电梯这个问题由于比较贴近真实生活,所以需求还是很好理解的.总的来说,我的数据处理 ...
- PostgreSQL实现字符串拼接
在日常工作中会遇到将多行的值拼接为一个值展现,如果使用过Oracle数据库,可以使用list_agg的聚合函数来实现.那么PostgreSQL也有这样的功能,函数为string_agg.具体用法如 ...
- TrueCrypt与CryptSetup双系统全盘加密(图文)
http://blog.topsec.com.cn/truecrypt%E4%B8%8Ecryptsetup%E5%8F%8C%E7%B3%BB%E7%BB%9F%E5%85%A8%E7%9B%98% ...
- 056.Python前端Django模型ORM多表基本操作
一 准备工作 1.1 新建一个项目 root@darren-virtual-machine:~# cd /root/PycharmProjects/ root@darren-virtual-machi ...
- TCP三次握手和四次挥手及对应端口状态
一.三次握手 1.第一次握手:Client 将标志位置为1,并向Server发送个seq=j,j为随机产生的数:等待Server回复,此时Client的端口状态为SYN_SENT. 2.第二次握手:S ...
- 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)
目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...
- 03丨认识文档数据库MongoDB
- NLP文本分类
引言 其实最近挺纠结的,有一点点焦虑,因为自己一直都期望往自然语言处理的方向发展,梦想成为一名NLP算法工程师,也正是我喜欢的事,而不是为了生存而工作.我觉得这也是我这辈子为数不多的剩下的可以自己去追 ...
- .Net Redis实战——事务和数据持久化
Redis事务 Redis事务可以让一个客户端在不被其他客户端打断的情况下执行多个命令,和关系数据库那种可以在执行的过程中进行回滚(rollback)的事务不同,在Redis里面,被MULTI命令和E ...
- Python+Selenium - 浏览器驱动
Chrome \ Firefox 下载浏览器版本对应的驱动文件后,放在D:\Program Files (x86)\Python\Python38路径下,Python使用时用 driver = web ...