服务器 
首页 > 服务器 > 浏览文章

Docker容器上用DockerFile部署多个tomcat服务的步骤

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

1、

[admin@JD ~]$ cd opt

#进入根目录下的opt 里

2、

[admin@JD opt]$ mkdir web

#创建Web 文件夹

3、

[admin@JD web]$ cd web/

#进入web文件夹

4、

[admin@JD web]$ touch Dockerfile

#创建一个Dockerfile文件夹 名字不能错必须是这个名字否者检测不到

5、

利用三方工具将 tomcat 和 jdk的 上传到Web文件夹

6、

[admin@JD web]$ vim Dockerfile

#编辑文件并写入内容如下

FROM centos
MAINTAINER wuzhao
ADD ./apache-tomcat-7.0.88.tar.gz /root
ADD ./jdk-7u80-linux-x64.tar.gz /root
ENV JAVA_HOME /root/jdk1.7.0_80
ENV PATH $JAVA_HOME/bin:$PATH
ENTRYPOINT /root/apache-tomcat-7.0.88/bin/startup.sh && tail -F /root/apache-tomcat-7.0.88/logs/catalina.out

资源下载

FROM命令,用法,FROM <image>:<tag>,FROM命令告诉docker我们构建的镜像是以哪个(发行版)镜像为基础的

ENV命令,用法,ENV <key> <value>,ENV命令主要用于设置容器运行时的环境变量

ADD命令,用法,ADD <src> <dest>,ADD主要用于将宿主机中的文件添加到镜像中

7、

[admin@JD web]$ docker build -t test/centos:tomcat-centos --rm=true .

#-t 指定资源名称自定义

# --rm=rtue 减少非指定文件生成

# 稍后自动生成完成 下载一些文件 可能会出现请求超时的问题

8、

[admin@JD web]$ docker run -d -p 9090:8080 fe8d

#启动 tomcat 并将8080端口映射到 9090 fe8d 资源ID的前四位

9、

[admin@JD web]$ docker run -d -p 9091:8080 fe8d

# 启动第二个tomcat 端口不要冲突 !!

10、打开浏览器 服务器ip+端口号 你就能看见那只猫了 #docker会自动添加防火墙规则 我用的是iptables 防火墙

简单构建dockerflie 文件完成!

补充知识:docker内构建开源对象存储(minio)

前段时间做了一个项目,客户无法将数据拿到外网,只能通过在内网构建OSS对象存储,我们本身依赖极道的平台来做业务,他们采用了s3的标准,就采用minio来构建开源的OSS对象存储空间,其实很简单

docker pull minio/minio 从仓库拉镜像

docker run -p 9000:9000 --name minio1
-e “MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE”
-e “MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY”
-v /mnt/data:/data
-v /mnt/config:/root/.minio
minio/minio server /data

启动

下面说说问什么选择minio

(1) 需要C++ 接口的支持,既然采用s3标准,那亚马逊的aws就可以用

(2) 这是一种轻量级、高度并发的解决方案

(3) 和 FastDFS 或者 hdfs 对比的好处是可以为前段展示预留一定的可行性

稍后贴出C++的封装和java的封装

以上这篇Docker容器上用DockerFile部署多个tomcat服务的步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:docker 使用CMD或者ENTRYPOINT命令同时启动多个服务
下一篇:在Docker构建的容器中实现安装ping工具
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。