Springboot使用docker容器部署

本文基于ubuntu 16

1.安装openjdk8(略)

2.创建Dockerfile文件

cd ~vi Dockerfile

Dockerfile内容


FROM openjdk:8
MAINTAINER Lee <[email protected]>


WORKDIR /home
VOLUME /home/logs
ENV java_opts ‘-XX:+PrintGCDetails -XX:+PrintGCTimeStamps‘
#ADD package/pinpoint-agent /pinpoint-agent
ADD package/lee-spring-demo/target/lee-spring-demo.jar /home/
RUN chmod -x lee-spring-demo.jar \
&& /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai‘ >/etc/timezone
CMD java -jar $java_opts /home/lee-spring-demo.jar
EXPOSE 8080

EXPOSE 4100

3.编写启动shell脚本

#!/bin/sh
NEW_PACK=`date +%Y%m%d%H%M%S`

sudo docker build -t lee/demo:${NEW_PACK} /home/admin

sudo docker stop $(sudo docker ps -a |grep l-4002|awk ‘{print $1}‘)
sudo docker rm -f $(sudo docker ps -a |grep demo-4002|awk ‘{print $1}‘)
sudo docker run -d --privileged=true -p 4002:8080 -p 4102:4100 -v /data/demo/logs:/home/logs -v /etc/localtime:/etc/localtime:ro -e java_opts="-Xms512M -Xmx1024M -XX:NewSize=256M -XX:MaxNewSize=512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -Dpinpoint.agentId=13-21-4002 -Dpinpoint.applicationName=13-21-4002 -Dspring.profiles.active=uat -Dspring.nodeId=2" --name demo-4002 lee/demo:${NEW_PACK}

附:springboot直接部署到linux shell脚本

#!/bin/sh
NEW_PACK=`date +%Y%m%d%H%M%S`

cd /data/project/lee
cp /home/admin/package/lee-spring-demo/target/lee-spring-demo.jar bolt-loan-api.${NEW_PACK}.jar

kill -9 $(ps -ef |grep lee |grep -w ‘4001‘|awk ‘{print $2}‘)
nohup java -jar -Xms512M -Xmx512M -XX:NewSize=256M -XX:MaxNewSize=256M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -Dspring.profiles.active=uat -Dspring.nodeId=1 -Dserver.port=4001 -Dxxl.job.executor.port=4101 bolt-loan-api.${NEW_PACK}.jar >/dev/null 2>&1 &

原文地址:https://www.cnblogs.com/lixyu/p/11122880.html

时间: 2024-08-02 14:45:12

Springboot使用docker容器部署的相关文章

Docker容器部署tomcat出现中文乱码

docker 容器部署tomcat后,日志文件中出现中文乱码,很多问号,中文的文件夹也是问好.先看看容器的locale: [[email protected] ~]# docker exec -it 41de9a0b6045 locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="

在线培训 | Docker容器部署与管理入门

容器技术凭借其轻量化和快速部署的特性,被越来越多企业开发者赞誉,近两年来发展态势可谓炙手可热. 去年一年,Kubernetes的流行度持续快速上升,我们有理由相信在不远的未来,Kubernetes将成为通用的基础设施标准. 开源的全栈化企业级容器管理平台Rancher,凭借优异的基础设施服务管理能力和强大的容器协调能力,让用户在生产环境中的容器部署.运行与管理工作变得更加简单.加上Rancher创造性的纳管来自不同基础架构的Kubernetes集群的能力,为企业在生产环境落地Docker与Kub

Docker容器部署与管理入门培训,你需要的前期准备都在这里!

容器技术凭借其轻量化和快速部署的特性,被越来越多企业开发者赞誉,近两年来发展态势可谓炙手可热. 去年一年,Kubernetes的流行度持续快速上升,我们有理由相信在不远的未来,Kubernetes将成为通用的基础设施标准. 开源的全栈化企业级容器管理平台Rancher,凭借优异的基础设施服务管理能力和强大的容器协调能力,让用户在生产环境中的容器部署.运行与管理工作变得更加简单.加上Rancher创造性的纳管来自不同基础架构的Kubernetes集群的能力,为企业在生产环境落地Docker与Kub

docker安装步骤及基于docker容器部署web应用LNMP服务器环境

docker的介绍 docker的定义: 1.docker的三个概念:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器Docker 镜像 - Docker images: Docker 镜像是 Docker 容器运行时的只读模板Docker 仓库 - Docker registeries: Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库(Docker Hub)Docker 容器 - Docker containers:每一个 Docke

基于docker容器部署solr 8.1

文章要点:1.Solr是什么2.Solr目录结构3.基于docker部署solr正文:1.Solr是什么?Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果.2.Solr目录结构?(1)bin:solr的运行脚本(2)contrib:solr的一些扩展jar包,用于增强solr的功能(3)dist:该目录包

docker 容器部署

目录 docker 介绍 1 容器操作 2 网络和数据卷 3 应用部署 4 备份迁移 5 dockerfile 6 私有仓库 docker 介绍 # 1 docker概念: -版本(17.x以上,都是新版本),docker ce 和docker ee -轻量级,环境问题(开发一套环境,运维一套环境) -镜像和容器:镜像是一系列文件:redis镜像(linux系统+redis软件) 容器:当成操作系统 -隔离:容器里部署我的项目 -宿主机:运行docker软件的机器 -c/s架构:通过resful

Docker 容器部署 Consul 集群

一.docker安装与启动1.1安装docker[[email protected] /]# yum -y install docker-io 1.2更改配置文件[[email protected] /]# vi /etc/sysconfig/dockerother-args列更改为:other_args="--exec-driver=lxc --selinux-enabled" 1.3启动docker服务[[email protected] /]# service docker st

Docker 容器部署Apache静态网站

容器中部署静态网站1.先了解容器端口映射(1). 设置容器的端口映射run [-P] [-p]-P, --publish-all=true | false 默认为false (对容器所有暴露的端口进行映射)docker run -P -i -t centos /bin/bash -p ,--publish=[] (指定容器的端口)containerPort (只指定容器的端口)docker run -p 80 -i -t centos /bin/bashhostPort:containerPor

基于Docker容器部署ELK日志分析系统

部署ELK日志分析系统,比较消耗计算机硬件,如果使用虚拟机进行测试部署,建议分配较多的硬件资源,否则,当elk容器运行后,会使其无法正常运行.我这里将分配给docker主机5G内存,四个CPU. 一.环境准备 我这里使用一台docker主机(如需要部署docker服务,可以参考博文:Docker的安装详细配置),其IP地址为192.168.20.6,在其之上运行elk容器. 二.配置docker主机运行elk容器 [[email protected] ~]# echo "vm.max_map_c