首页 > 其他分享 >Dockerfile 部署jar包

Dockerfile 部署jar包

时间:2024-03-12 16:56:31浏览次数:27  
标签:name 部署 jar server -- contain Dockerfile port

防火墙端口添加:
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

  Dockerfile 内容如下

     vi Dockerfile
#指定以openjdk:8-jre 为基础镜像,来构建此镜像,可以理解为运行的需要基础环境
FROM openjdk:8
ENV jar_file /opt/java_jar/
RUN mkdir -p ${jar_file}
#添加时区指向
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行。
WORKDIR ${jar_file}
#将当前文件夹下面 demo.jar 复制到容器对应目录下
ENV jar_name demo.jar
ADD ${jar_name} ${jar_file}${jar_name}
#jar文件端口 通过启动命令传入进来
ENV server_port ${server_port}
EXPOSE ${server_port}
#容器启动时执行的命令
CMD nohup java -jar \
-Xmx256m -Xmn256m  -Xss256k -XX:+HeapDumpOnOutOfMemoryError \
${jar_file}${jar_name} --spring.profiles.active=local --server.port=${server_port}

  

vi startBuild.sh
#!/bin/bash
echo "开始构建"
#构建镜像 
#分别输入 容器名称 和要构建的 版本号 eg test 111 生成版本号为 test:111
#contain_name=test
#version=1
read -p "Please enter your contain name and version eg : demo v1.0: " contain_name version
echo "contain name and version is [${contain_name}:${version}]" 
#输入要构建的端口号 或者自定义
#server_port=8001
read -p "Please enter your application server port in(1024到49151) " server_port
echo "you input server port is [${server_port}]" 
#取消自定义命令
#contain_name=demo
docker rmi ${contain_name}:${version}
docker buildx build -t  ${contain_name}:${version} .
#停用之前的服务
docker stop ${contain_name}
docker rm ${contain_name}
#启动容器
docker run -p ${server_port}:${server_port} -e server_port="${server_port}" --name ${contain_name} -d ${contain_name}:${version}
echo "构建完成"

  

停止和删除原始容器命令: vi stopAndRemoveContain.sh
#vi stopAndRemoveContain.sh
#!/bin/bash
read -p "Please enter your [contain name :contain version eg  test:1] or contain id:  " contain_info
echo "开始删除 contain name or contain id is [${contain_info}]" 
#停止容器
docker stop  ${contain_info}
#删除容器
docker rm  ${contain_info}
#删除容器镜像
docker  rmi ${contain_info}

  

翻译

搜索

复制

<iframe></iframe>

标签:name,部署,jar,server,--,contain,Dockerfile,port
From: https://www.cnblogs.com/luo12828-foxmail/p/18068686

相关文章

  • flink部署模式和运行模式
    flink部署模式部署模式:flink里面的计算程序运行的方式sessionsession模式一个flink集群可以跑多个计算任务,资源共享session模式下集群是提前启动的,然后向flink集群提交jobper-job(高版本已经不推荐了)per-job模式下,一个集群只跑一个计算任务,资源独立,集群的启动是跟随......
  • 将Asp.net Core 微服务容器部署到 Kubernetes
    将微服务容器部署到KubernetesKubernetes会为你运行容器,需要通过YAML文件描述希望Kubernetes执行的操作,在Kubernetes上部署和运行后端服务简单操作如下步骤安装Kubernetes工具和实现我们需要同时安装kubectl工具和Kubernetes实现按照参考:https://www.cnblogs.co......
  • ojdbc8.jar下载
    由于oracle的版权问题,java连接oracle的jar(ojdbc.jar)在maven的中央仓库下载不到。1.手动下载jar包ojdbc8.jar官网下载地址:https://www.oracle.com/database/technologies/jdbc-ucp-122-downloads.html2.以管理员身份打开cmd并切换到ojdbc8.jar目录下(或者直接找到此目录,输入cm......
  • 一键开启 GPU 闲置模式,基于函数计算低成本部署Google Gemma 模型服务
    背景信息Google在2024年02月21日正式推出了自家的首个开源模型族Gemma,并同时上架了四个大型语言模型,提供了2B和7B两种参数规模的版本,每种都包含了预训练版本(base模型)和指令微调版本(chat模型)。根据Google的技术报告,本次开源的Gemma在问题回答、合理性、数学、代码......
  • Docker部署GitLab-2024
    搭建公司/个人私有化的Gitlab/Github代码版本管理平台文章耗时:5天(终于全流程走通),相关的应用或问题将持续更新。朗读全文Yourbrowserdoesnotsupporttheaudioelement.怎么用条件:个人域名,公网IP的小主机或服务器(或购得的VPS或网络服务器)根据‘实现方法’中的步骤用d......
  • Zabbix 7.0编译部署教程
    Zabbix7.0alpha版本、beta版本已经陆续发布,Zabbix7.0LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心动不如行动,不妨先体验了一把beta版本。本教程仅适用于编译部署Zabbix7.0beta1版本,部署环境......
  • 包含Maven和Docker的Dockerfile
    要创建一个包含Maven和Docker的Dockerfile,你需要首先明确你的需求。通常,这样的Dockerfile可能是为了构建并打包一个Java项目,然后使用Docker将其部署。以下是一个简单的示例,展示了如何创建一个Dockerfile,该Dockerfile安装了Maven和Docker,然后构建并推送一个Java项目:Dockerfile#......
  • Docker compose部署Typecho博客系统
    编辑docker-compose.yml文件:services:typecho:image:joyqi/typecho:nightly-php8.2-apacherestart:alwaysports:-8086:80#端口映射,把博客默认的80端口映射到8086端口environment: TYPECHO_DB_HOST:typecho_db#默认值是localhost,docker......
  • 部署测试平台-使用docker安装mysql
    1.拉取mysql5.7镜像:dockerpullmysql:5.72.新建数据库挂载目录:mkdir-p/root/data/mysql5.7/conf   配置文件mkdir-p/root/data/mysql5.7/data   数据库数据目录mkdir-p/root/data/mysql5.7/log   数据库日志3.把配置文件my.cnf放到/root/data/m......
  • docker部署单机版elasticsearch7
    拉取镜像dockerpulldocker.elastic.co/elasticsearch/elasticsearch:7.17.18创建本地数据、配置文件夹,修改权限sudomkdir-p/server/es7/config/server/es7/data/server/es7/logs/server/es7/pluginssudochmod777/server/es7/config/server/es7/data/server/es7/......