环境:

阿里云ecs服务器

步骤:

1、安装docker

2、获取centos镜像

3、下载tomcat 和 jdk 安装包

4、配置

1、安装docker

https://www.cnblogs.com/shijunjie/p/10436293.html

2、获取centos 镜像

  1、在docker官方镜像源搜索centos镜像,选择合适的版本下载镜像

      https://hub.docker.com/search?q=&type=image&operating_system=

  2、举例:

    docker pull centos:7.6.1810

3、下载tomcat 和 jdk 安装包

tomcat下载地址:

https://tomcat.apache.org/download-80.cgi   tomcat官方下载地址

https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/   清华大学开源软件镜像站下载地址

jdk:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html    java官方下载地址

4、配置

java配置:

[root@a0a2568d002d centos_data]# mkdir /usr/java 
[root@a0a2568d002d centos_data]# tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java 
[root@a0a2568d002d centos_data]# vi /root/.bashrc 
export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
[root@a0a2568d002d centos_data]# source /root/.bashrc
[root@a0a2568d002d centos_data]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

## 容器内java环境如果配置到 /etc/profile 那么,重启容器后很大可能不会生效,需要再次执行一遍 source /etc/profile 命令才会生效 。 
## 而java环境如果配置到/root/.bashrc 那么,容器重启后java环境还会生效

tomcat配置:

[root@a0a2568d002d centos_data]# mkdir /usr/local/tomcat
[root@a0a2568d002d centos_data]# tar -xf apache-tomcat-8.5..tar.gz -C /usr/local/tomcat

设置tomcat随容器自动而自启动:

[root@ecaea7d3388c /]# vi /lib/systemd/system/tomcat.service
[Unit]
Description=tomcat
After=network.target [Service]
Type=oneshot
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.39/bin/startup.sh
ExecStop=/usr/local/tomcat/apache-tomcat-8.5.39/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes [Install]
WantedBy=multi-user.target
[root@ecaea7d3388c /]# systemctl daemon-reload
[root@ecaea7d3388c /]# systemctl enable tomcat.service
[root@ecaea7d3388c /]# systemctl start tomcat.service
[root@ecaea7d3388c /]# systemctl status tomcat.service


## 问题1:
systemctl start tomcat.service 启动tomcat时可能无法启动,可能会出现以下报错:
    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
解决办法:
    用 vi 打开 tomcat 的bin目录下的setclasspath.sh,添加JAVA_HOME和JRE_HOME两个环境变量,两个环境变量路径为您安装的java JDK的路径。
举例:

     export JAVA_HOME=/usr/java/jdk1.8.0_201
     export JRE_HOME=${JAVA_HOME}/jre

  

docker 容器 centos + tomcat + jdk的更多相关文章

  1. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集

    docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh ...

  2. 在Docker容器中安装jdk和spark

    在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...

  3. docker容器跑tomcat遇到的坑

    使用docker容器跑tomcat,由于同一个宿主机上跑了多个容器,再加上宿主机本身跑了很多进程,导致系统总的进程数达到了8000+,而容器中tomcat的启动脚本中会调用自带的setenv.sh,在 ...

  4. Docker容器部署tomcat出现中文乱码

    docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [root@docker1 ~]# docker exec -it 41de9 ...

  5. Docker使用Dockerfile创建Centos(tomcat+jdk)镜像

    原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种:    (1)使用docker c ...

  6. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  7. 使用maven插件自动部署web应用至Docker容器的tomcat

    配置maven 在pom.xml加入 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <plugins>     <plugin>         <gr ...

  8. Docker容器Centos容器安装openssh

    前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题 下面专门是centos容器安 ...

  9. Docker容器Centos不能使用systemctl命令问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...

随机推荐

  1. mysql的explain用法

    Mysql—explain的参数详解及用法 EXPLAIN 的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 项 说明 id MySQL Query Optimizer 选定的执行计划中查询 ...

  2. 3.3.5 高效读取:不变模式下的CopyOnWriteArrayList

    源码分析:读写(get,add) 一:get 方法 private E get(Object[] a, int index) { return (E) a[index];}可以看到读取数据的时候 没有 ...

  3. ArcGIS中地图导出格式比较(转)

    转自:http://blog.sina.com.cn/s/blog_6438c8360101eqfx.html   有人问过这样的问题,用于出挂图的地图格式应该怎么选择?熟悉ArcGIS的用户都知道, ...

  4. 【转】JAVA 并发编程-多个线程之间共享数据

    原文地址:http://blog.csdn.net/hejingyuan6/article/details/47053409# 多线程共享数据的方式: 1,如果每个线程执行的代码相同,可以使用同一个R ...

  5. 白话浅说TCP/UDP面向连接,面向无连接的区别

    TCP是面向连接的UDP是面向无连接的就是这种关系了 TCP(Transmission Control Protocol,传输控制协议) UDP(User Datagram Protocol,用户数据 ...

  6. Linux内核版本

    在Linux中找到/usr/src/kernels/目录,该目录下面有一个系统内核文件 例如:2.6.32-431.11.2.el6.x86_64 Linux内核版本规则 Linux内核版本有三组数字 ...

  7. Promise实现简易AMD加载器

    在最新的Chrome和FF中已经 实现了Promise.有了Promise我们用数行代码即可实现一个简易AMD模式的加载器 var registry = { promises: { }, resolv ...

  8. HBASE的优化、hadoop通用优化,Linux优化,zookeeper优化,基础优化

    HBase 的优化3.1.高可用在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果Hmaster 挂掉了,那么整个 HBa ...

  9. [转发]Oauth 1.0 1.0a 和 2.0 的之间的区别有哪些?

    原文地址:http://www.zhihu.com/question/19851243

  10. Java Input Stream Diagram

    JAVA IO Diagram |-- ByteArrayInputStream |-- BufferedInputStream |-- FileInputStream |-- DataInputSt ...