当前位置: 首页 > 编程笔记 >

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

洪黎昕
2023-03-14
本文向大家介绍Docker容器上用DockerFile部署多个tomcat服务的步骤,包括了Docker容器上用DockerFile部署多个tomcat服务的步骤的使用技巧和注意事项,需要的朋友参考一下

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服务的步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍使用Dockerfile部署nodejs服务的方法步骤,包括了使用Dockerfile部署nodejs服务的方法步骤的使用技巧和注意事项,需要的朋友参考一下 初始化Dockerfile 假设我们的项目名为express,在express项目中创建编辑Dockerfile文件: 这个文件包含了以下命令: FROM node:latest - 指定使用最新版本的node基础镜像 RUN

  • 我想将Redmine Docker映像部署到Azure App Services,并将其指向部署到Azure数据库for MySql服务器的MySql实例。这将为我提供一个完全管理的体系结构。我已经创建了一个MySql实例,可以使用MySql Workbench从本地PC连接到它。不幸的是,我部署到应用服务的Redmine Docker映像无法启动。日志显示:实例******上的Docker经历了

  • 我有一个简单的应用程序构建为docker图像(ubuntu),并把它放入docker容器。它有几个卷附加到它。我想将此容器推送到Azure AppServiceLinux。我尝试了几个选择,但没有成功。 > Azure CLI创建web应用程序并将容器推送到Azure容器注册表,然后将其部署到web应用程序。 给出错误。 将容器上传到,并更新Web应用容器设置以将此容器加载到Web应用中。 给出或

  • 问题内容: 我在一台机器上有多个docker容器。在每个容器上运行一个进程和一个为该进程提供API的Web服务器。 我的问题是,当默认端口为80时,如何从浏览器访问API?为了能够访问docker容器内的Web服务器,请执行以下操作: 这样,我可以在计算机终端上执行以下操作: 但是如何使用多个容器和多个Web服务器来处理呢? 问题答案: 您可以公开多个端口,例如 或在您的API容器前面放置一个代理

  • 我使用docker-composing创建了一个Docker容器。在我的本地环境中,我能够毫无问题地启动我的应用程序。 现在,我想将所有docker容器部署到AWS EC2(ECS)。在阅读了ECS文档后,我发现我们可以使用相同的docker compose在ECS中使用ECS-CLI进行部署。但ECS-CLI目前不适用于windows实例。因此,现在我不知道如何使用docker compose使

  • 这是我的堆栈的屏幕截图 [ERROR]未能在项目上执行goal org.apache.Tomcat.maven:tomcat7-maven-plugin:2.2:deploy(default-cli)WHOT:不能调用Tomcat manager:Connection Delection(Connection Delection)->[Help 1]org.apache.maven.lifecyc