docker 容器 centos + tomcat + jdk
环境:
阿里云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的更多相关文章
- docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集
docker容器下tomcat 不向catalina.out输出日志解决 去掉 & 符号,直接 使用 ENTRYPOINT ["/data/tomcat/bin/startup.sh ...
- 在Docker容器中安装jdk和spark
在Docker容器中安装jdk和spark 1.下载jdk和spark 可以使用迅雷等专业下载软件下载jdk和spark软件包,注意是linux版,这里直接给出下载地址: JDK下载地址 JDK进入后 ...
- docker容器跑tomcat遇到的坑
使用docker容器跑tomcat,由于同一个宿主机上跑了多个容器,再加上宿主机本身跑了很多进程,导致系统总的进程数达到了8000+,而容器中tomcat的启动脚本中会调用自带的setenv.sh,在 ...
- Docker容器部署tomcat出现中文乱码
docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [root@docker1 ~]# docker exec -it 41de9 ...
- Docker使用Dockerfile创建Centos(tomcat+jdk)镜像
原文链接:https://blog.csdn.net/qq_37936542/article/details/80824389 Docker构建镜像的方法主要有两种: (1)使用docker c ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 使用maven插件自动部署web应用至Docker容器的tomcat
配置maven 在pom.xml加入 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <plugins> <plugin> <gr ...
- Docker容器Centos容器安装openssh
前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题 下面专门是centos容器安 ...
- Docker容器Centos不能使用systemctl命令问题
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...
随机推荐
- $.each()与$(selector).each()区别
jQuery.each( collection, callback(indexInArray, valueOfElement) )可用于迭代任何集合,无论是“名/值”对象(JavaScript对象)或 ...
- critical section的用法
critical section Critical Section: 不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问.每个进程中访问临界资源的那段代码称为临界区(Critical ...
- Mac上修改MySQL默认字符集为utf8
1.检查默认安装的mysql的字符集 mysql> show variables like '%char%'; +--------------------------+------------- ...
- [LeetCode 题解]: LetterCombinations
Given a digit string, return all possible letter combinations that the number could represent. A map ...
- Android 画闹钟
1.今天就来模仿一下这个小闹钟的 2.思路: 先画闹钟的圆盘 ,在通过Path来画指针 两个耳朵其实就是用两个圆被一个大圆截取后留下的,并旋转一定度数后生成 3.直接上代码: public class ...
- Backup--备份基础理论
--完整备份:完整备份会备份所有数据的区和少量的日志(日志文件用于恢复数据保持数据一致性).由于差异备份需要依据最后一次完整备份,因此完整备份会清楚一些分配位图数据. --差异备份:差异备份是针对完全 ...
- Replication--修改复制代理配置来查看代理运行情况
1>在复制监视器中选中订阅右键 2>选择代理配置文件 3>将代理配置文件设置为”详细历史记录代理配置文件“,确定以保存 4>重启代理 5>代理运行一段时间后,重启代理 6 ...
- [VSTO] warning CS0467 解决方案
warning CS0467: Ambiguity between method 'Microsoft.Office.Interop.Word._Document.Close(ref object, ...
- JavaScript 用new创建对象的过程
在JavaScript中创建自定义对象都需要用new运算符,那么创建对象的过程是什么样的呢? 例如现在有如下构造函数: function Person(name) { this.name = n ...
- 【08】循序渐进学 docker:docker compose
写在前面的话 在之前的操作中,即使是单个容器每次都需要敲很长的命令,当需要多个容器组合着用的时候更加麻烦,此时我们急需找到一种一次配置,随便运行的方法. 这就是这一节重点,单机容器编排工具:docke ...
