微服务docker部署-jar包打包成docker镜像
1、打包微服务成单独的jar包首先将自己的项目跳过test打包成jar,并在自己本地先用java -jar xxx.jar启动下,看是否可以启动。随后将自己的jar包同级目录创建一个Dockerfile文件,并用notepad打开文件无后缀。Dockerfile:FROM openjdk:8-jre-alpineUSER root#中文乱码问题ENV LC_ALL en_US.UTF-8ENV L
·
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
更多推荐
已为社区贡献6条内容
所有评论(0)