背景

参考了狂神老师的 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的更多相关文章

  1. Docker系列之实战:3.安装MariaDB

    环境 [root@centos181001 ~]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) [root@centos1 ...

  2. java web开发环境配置系列(二)安装tomcat

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...

  3. 部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解

    突发奇想,想在自己电脑上部署一个web网站. 1,先去tomcat官网下载一个适合linux的版本:tar.gz 2,然后通过FileZIlla传到服务器的/opt目录: 3,然后创建目录 并解压缩 ...

  4. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  5. CentOS安装tomcat

    一.下载Tomcat 1..进入Tomcat官网:http://tomcat.apache.org/ 左侧选择相应的版本 点击Tomcat 6.0后 点击tar.gz下载apache-tomcat-6 ...

  6. 转】Linux下安装Tomcat服务器和部署Web应用

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4097608.html 感谢! 一.上传Tomcat服务器

  7. 安装Tomcat指定JDK(转)

    一.应用实例 一般情况下一台服务器只跑一个业务,那么就直接配置一套环境,设置好Java环境变量即可.某些时候一台服务器上会安装多个业务,而且各个业务需要的JDK版本各不相同,或者为了使业务独立开来,需 ...

  8. linux下安装tomcat和部署web应用

      孤傲苍狼 只为成功找方法,不为失败找借口! Linux下安装Tomcat服务器和部署Web应用 一.上传Tomcat服务器

  9. 第一次项目上Linux服务器(三:安装Tomcat及相关命令)

    一.下载Tomcat 去官网:http://tomcat.apache.org/ 找到要下载的Tomcat 本人下载的是apache-tomcat-8.5.29.tar.gz,百度云资源链接:链接:h ...

随机推荐

  1. 软负载Nginx和硬负载F5的优缺点对比

    对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器.​ a.软件负载均衡解决方案 在一台服务器的操作系统上,安装一个附加软件 ...

  2. CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发

    在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...

  3. 设了padding要减去盒高 和 line-height 行高

    增加了padding 一定要减去相应的高度,不然整个元素的高度会增高(原高+padding) line-height:行高 1.行高要比字体大,不然字体会挤到一块去 2.若父盒子没有设置高度,则行高会 ...

  4. [算法] O(n^2)排序算法的效率比较

    选择.插入排序 main.cpp 1 #include <iostream> 3 #include "SortTestHelper.h" 4 5 using names ...

  5. [刷题] 237 Delete Nodes in a Linked List

    要求 给定链表中的一个节点,删除该节点 思路 通过改变节点的值实现  实现 1 struct ListNode { 2 int val; 3 ListNode *next; 4 ListNode(in ...

  6. 使用 IPMI 远程为服务器安装操作系统教程

    使用 IPMI 远程为服务器安装操作系统教程 shida_csdn 2019-01-09 11:30:10 9588 收藏 16展开一.什么是 IPMI? IPMI 是智能平台管理接口(Intelli ...

  7. linux进程间通信-(转自 临水)

    一.进程间通信概述进程通信有如下一些目的:A.数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B.共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别 ...

  8. MVC RadioButton控件

    @Html.RadioButtonFor(m => m.IfValid, 1, new { @id = "radio1", @name = "rdolstState ...

  9. esp项目,

    http://www.cirmall.com/circuit/6012/%E6%99%BA%E8%83%BD%E5%8C%96%E7%A7%8D%E8%8A%B1%E7%AE%80%E6%98%93% ...

  10. 有关Git基础操作的学习

    Git简介 Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容. Git 易于学习, 占地面积小,具有闪电般的快速性能.它具有诸如Subversion,CVS,P ...