Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

一、准备好Jdk和Tomcat

apache-tomcat-8.5.50.tar.gz
jdk-8u212-linux-x64.tar.gz

注意:

  • Jdk 和 Tomcat 记得从官网下载,否则制作出来的镜像容易出现不兼容问题。

    jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    tomcat8下载:https://tomcat.apache.org/download-80.cgi

  • 准备修改好的 server.xml (修改连接和线程数),制作镜像时覆盖tomcat中的;

  • 准备修改好的 catalina.sh (修改JVM参数),制作镜像时覆盖tomcat中的;

  • apache-tomcat-8.5.50.tar.gz、jdk-8u212-linux-x64.tar.gz、Dockerfile放在同一目录

二、编写Dockerfile

内容如下:

# 指定操作的镜像FROM centos:7

# 维护者信息
MAINTAINER caoweixiong

# 将 jdk 和 tomcat 添加到镜像centos的/usr/local/目录下
ADD jdk-8u212-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.50.tar.gz /usr/local/

# 覆盖相关文件
COPY server.xml /usr/local/apache-tomcat-8.5.50/conf/
COPY catalina.sh /usr/local/apache-tomcat-8.5.50/bin/

# 添加环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_212
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.50
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 暴露8080端口
EXPOSE 8080

# 容器启动时运行tomcat
CMD /usr/local/apache-tomcat-8.5.50/bin/catalina.sh run

三、制作镜像

执行 docker build 制作镜像:

docker build -t tomcat-8.5.50:v1 .

说明:

-t  设置tag名称, 命名规则registry/image:tag(若不添加版本号,默认latest)

.  表示使用当前目录下的Dockerfile文件(注意语句后面有一个点),如需指定目录,则用 -f

执行 docker images 查看构建的镜像:

四、启动tomcat容器

docker run -d --name mytomcat -v /server/webapps:/usr/local/tomcat/webapps/ -e TZ="Asia/Shanghai" --privileged=true -p 8080:8080 tomcat-8.5.50:v1

说明:

*  -d 后台运行

*  --name mytomcat 容器名称
*  -v /server/webapps:/usr/local/tomcat/webapps/ 挂载当前项目的运行目录到tomcat下的webapps
*  -e TZ="Asia/Shanghai" 设置时区
*  --privileged=true 设置拥有容器中的真正的root权限
*  -p 8080:8080 映射端口(宿主机port : 容器port)
*  tomcat-8.5.50:v1 镜像的名称

执行 docker ps 查看进程:

五、访问验证

输入地址:http://ip:8080

原文地址:https://www.cnblogs.com/caoweixiong/p/12230725.html

时间: 2024-11-02 11:02:58

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像的相关文章

docker制作jdk+tomcat镜像

docker部署TOMCAT项目 一.内核升级 [[email protected] ~]# uname -r   #内核查看确认 2.6.32-696.16.1.el6.x86_64 [[email protected] ~]# [[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [[email protected] ~]# rpm -Uvh http://www.elrepo.or

基于alpine用dockerfile创建的tomcat镜像

1.下载alpine镜像 [[email protected] ~]# docker pull alpine Using default tag: latest Trying to pull repository docker.io/library/alpine ... latest: Pulling from docker.io/library/alpine 4fe2ade4980c: Pull complete Digest: sha256:621c2f39f8133acb8e64023a9

docker中制作自己的JDK+tomcat镜像

方式一 首先,准备好想要的jdk和tomcat,另外,我们需要创建一个Dockerfile文件.下面展示一个Dockerfile文件的完整内容: FROM ubuntu:14.10 MAINTAINER linx #把java与tomcat添加到容器中 ADD jdk-8u31-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.0.20.tar.gz /usr/local/ #配置java与tomcat环境变量 ENV JAVA_HOME /usr

在docker中制作自己的JDK+tomcat镜像

准备工作:需要Linux kernel 3.8支持 查看linux内核的版本:[email protected]:~# cat /proc/version查看linux版本:[email protected]:~# lsb_release –a 关于dockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)

实战--通过dockerfile本地编译tomcat镜像

1.在宿主机创建文件夹tomcat7.0_jdk1.7,下载tomcat7.0和jdk放到此目录 [email protected] ~/tomcat7.0_jdk1.7 $ ls Dockerfile  apache-tomcat-7.0.68  jdk  run.sh 2.编写Dockerfile [email protected] ~/tomcat7.0_jdk1.7 $ cat Dockerfile FROM sshd:centos6.5 MAINTAINER created from 

DOCKER学习_011:使用Dockerfile制作docker镜像

前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [[email protected] ~]# mkdir /openssh [[email protected] ~]# cd /openssh [[email protected] openssh]# cp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key . [[

Docker安装Tomcat镜像并部署web项目

一.安装Tomcat 1.查找Docker Hub上的tomcat镜像 docker search tomcat 2.拉取官方的镜像 docker pull tomcat 等待下载完毕,需要一些时间. 3.查看docker所有的镜像 docker images 4.启动tomcat镜像 注:前者是外围访问端口:后者是容器内部端口 docker run -d -p 8080:8080 tomcat 注:前者是外围访问端口:后者是容器内部端口 如下命令可后台启动tomcat -d: 后台运行容器,并

dockerfile制作

一.Dockerfile 简介及书写规则 Dockfile 是一种被Docker 程序解释的脚本,Dockerfile 由一条一条的指令组成,每条指令对应Linux 下面的一条命令.Docker 程序将这些Dockerfile 指令翻译真正的Linux 命令.Dockerfile 有自己书写格式和支持的命令,Docker 程序解决这些命令间的依赖关系,Docker 程序将读取Dockerfile,根据指令生成定制的image. Dockerfile 的指令是忽略大小写的,建议使用大写,使用 #

Dockerfile介绍、Docker制作jdk镜像

Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像, 另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙 dockerfile基本结构 Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容