详解docker镜像centos7配置Java运行环境

1.拉取centos镜像

docker pull centos:7

2.基于拉取到的镜像运行一个容器

docker run -it --name mycentos docker.io/centos:7 /bin/bash

运行起来就直接进入了容器的交互界面

3.容器中安装jdk

首先查询可用的jdk版本

yum search java|grep jdk

根据搜索到jdk进行安装

yum install java-1.7.0-openjdk

安装完成之后可以不用配置环境变量,因为安装完成之后貌似是自动配置好了 使用命令测试jdk是否安装成功

java -version

如果正常显示jdk的版本号说明安装成功,然后使用 exit直接退出容器到宿主机

4.安装tomcat

从官网手动下载tomcat的tar包; 下载完成的文件如: apache-tomcat-7.0.78.tar.gz 将该文件首先上传到宿主机;可以用FTP等方式,上传完成后将tomcat包拷贝到docker容器; 拷贝命令:

docker cp /apache-tomcat-7.0.78.tar.gz mycentos:/usr

上面的命令是将tomcat包拷贝到名为mycentos容器的usr目录下

5.在容器中制作tomcat启动脚本

进入已经运行的容器

docker exec -it mycentos /bin/bash

创建文件

touch /root/run.sh

编辑文件

vi /root/run.sh

输入文件内容,保存退出

#!/bin/bash
exprot JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/
export PATH=$JAVA_HOME/bin:$PATH
sh /usr/tomcat/bin/catalina.sh run

JAVA_HOME:jdk的存放目录,默认为上面命令中的
PATH:不用解释了
sh:指定tomcat真实启动的catalina.sh脚本
给run.sh添加权限

chmod u+x /root/run.sh

授权完成之后退出容器;使用exit命令退出到宿主机

6.制作tomcat镜像

docker commit mycentos mytomcat:7

将mycentos容器提交的镜像仓库,镜像名称为mytomcat,版本号为:7

7.用制作好的tomcat镜像启动一个tomcat容器

docker run -d --name tomcat1 -p 5001:8080 mytomcat:7 /root/run.sh

使用docker ps可以查看容器是否启动成功 -d:表示以守护进程方式启动 --name:指定容器的名称 -p:将tomcat 8080端口映射到宿主机的5001端口 mytomcat:7:上一步制作好的tomcat镜像

8.浏览器访问

http://宿主机ip:5001

问题1:如何进入一个正在运行的容器

docker exec -it tomcat1 /bin/bash

问题2:如何部署项目到tomcat

docker cp /ROOT.war tomcat1:/usr/tomcat/webapps

直接在宿主机拷贝Jar包到容器中的tomcat webapps目录下

问题3:怎么设置docker容器的时区

cp /usr/share/zoneinfo/PRC /etc/localtime

直接在容器中执行上面的命令,执行完成后用date命令查看容器时间是否和当前时间一样

问题4:怎么设置tomcat的时区

export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

在tomcat/bin/catalina.sh文件中的第一行添加上面的代码;因为容器中的tomcat与真实的时间差8小时,是时区不一致导致的问题;设置完成后保存退出,然后重启容器就可以看到时间一样了

问题5:怎么重启容器

停止容器

docker stop tomcat1

启动容器

docker start tomcat1

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Docker下搭建一个JAVA Tomcat运行环境的方法

    前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等. 主观的印象:Docker 使用 Go 语言编写,用 cgroup 实现

  • 在docker中部署tomcat并且部署java应用程序的步骤详解

    先给大家简单说下Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创建Dockerfile,命令如:touch Docker

  • Dockerfile 部署java web的环境详解

    Dockerfile 构建java web 环境 Dockfile 介绍: Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Doc

  • 详解使用Docker搭建Java Web运行环境

    这周末体验了一下挺火的Docker技术,记录学习笔记. >Docker是干什么的 Docker 是一个基于Linux容器(LXC-linux container)的高级容器引擎,基于go语言开发, 源代码托管在 Github 上, 遵从Apache2.0协议开源.Docker的目标是实现轻量级的操作系统虚拟化解决方案. 学习Docker首先要了解几个概念: 镜像-Docker的镜像和常见的系统ISO镜像类似,包含了应用程序的信息: 容器-容器相当于一个可以运行起来的虚拟机,应用程序运行在容器中,

  • Docker学习之基于Dockerfile搭建JAVA Tomcat运行环境的方法

    前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不为呢.好在Docker提供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以分享,更有利于在模板化,更不用说传输了,好处那是一大箩筐! 最终目的:打造一个支持SSH终端登录.Tomcat7自动运行的Docke

  • Docker搭建前端Java的开发环境详解

    一.解决的痛点 1.免搭建后端开发环境. 2.开发环境改变只需要改变镜像就能同步更新. 3.不需要eclipse等IDE工具. 4.切换开发项目 二.解决思路 利用docker启动Ubuntu镜像,在容器中搭建好项目需要的开发环境,使用挂载卷将本地代码挂载到容器中,使用容器中的环境编译运行代码,宿主机通过 docker 暴漏出的端口访问容器中的服务,这样前端的开发机上就只需要部署docker就搞定了. 三.关于docker 了解docker 本文并不打算细讲docker的知识,相关的文章有很多,

  • Docker学习笔记之Docker部署Java web系统

    Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux

  • Java 使用Docker时经常遇到的五个问题

    Docker现在很火,容器技术看上不无所不能,但这实际上是一种误解,不要被炒作出来的泡沫迷住双眼,本文抛去炒作,理性地从Java程序员的角度,列举出Docker目前的五大误区,帮助你更好地理解Docker的优势和问题. 抛去那些媒体和厂商们的炒作,我们如何才能更好更理性的使用Docker? Docker最近备受关注,原因显而易见.如何成功交付代码一直困扰着大家.传统的容器技术在众多需求和模板中乱成一团.而Docker可以简单且 重复的创建容器.相比其它容器,使用Docker可以更快.更自然的交付

  • java9学习系列之在docker中如何运行java9

    前言 本文将给大家详细介绍下如何在docker中运行java9的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 镜像 docker pull openjdk:9-jdk 启动 docker run -it openjdk:9-jdk /bin/jshell 然后就可以正常使用jshell了,比如 Sep 22, 2017 2:16:12 AM java.util.prefs.FileSystemPreferences$1 run INFO: Created user

  • docker 的java编译环境构建详细介绍

    用Dockerfile 构建一个java的编译环境,这里整理下实现步骤: 1.包括以下软件包 ubuntu jdk maven svn 2.jdk.maven 需要手动下载,下载之后分别为 jdk-8u51-linux-x64.gz apache-maven-3.3.3-bin.tar.gz 3.创建一个Dockerfile文件,包含以下内容 FROM ubuntu RUN apt-get update RUN apt-get -y install subversion ADD jdk-8u51

随机推荐