微服务docker部署-jar包打包成docker镜像

1、打包微服务成单独的jar包

首先将自己的项目跳过test打包成jar,并在自己本地先用java -jar xxx.jar启动下,看是否可以启动。
随后将自己的jar包同级目录创建一个Dockerfile文件,并用notepad打开
文件无后缀。

Dockerfile:

FROM openjdk:8-jre-alpine
USER root
#中文乱码问题
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
# 时间
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 将本地项目jar包拷贝到Docker容器中的位置 target/*.jar 自己的jar包, /aaa.jar-自定义的jar包名
#COPY target/*.jar /aaa.jar 
COPY ./*.jar /aaa.jar 

#VOLUME /tmp  #挂载的docker卷

#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/aaa.jar","--spring.profiles.active=prod"] 
#aaa上面自定义的jar包名称,prod指定的环境,如dev等
EXPOSE 项目端口号 (如未指定端口可不写)

2、上传服务器

将自己的jar包和写好的Dockerfile通过xftp上传到服务器/home路径下。
cd 切换到/home路径,执行打包命令

#最后的点不能少!!!
#-t 给新构建的镜像取名
docker build -f Dockerfile -t 镜像名称:版本名 .
#如果不指定镜像名和版本名
#使用下面的命令指定打包完的镜像
docker tag 镜像id eureka-server:latest

3、根据镜像创建容器并运行

根据配置文件进行创建容器,如果application.xml中端口指定为0,即要跟上 --network=host ,让容器间在同一局域网,然后会自动分配端口

docker run -di --network=host  镜像id

如果有端口指定则创建时指定端口映射

docker run  -di  -p 主机端口号:项目端口号 镜像id

查看日志是否运行成功以及报错信息:

docker logs -f 容器名/id
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值