一般的,微服务的部署方式都是采用JAVA -jar xxx.jar。这样程序就可以正常启动了。但是,随着技术的发展,脚本方式部署只能启动单台服务的启动。因此,微服务容器化部署应运而生,通过k8s通过容器化部署可以快速实现集群化部署,自动伸缩,方便维护。
而本次的笔记是对未来的k8s技术的实现做下铺垫。
1、通过Dockerfile生成镜像
在当前路径,vim Dockerfile
FROM java:8
# 作者
MAINTAINER chenxinhui
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
# VOLUME /tmp
# RUN mkdir -p /tmp
# 将jar包添加到容器中并更名为App.jar
ADD practice-demo.jar /app/app.jar
# ADD config/application.yml /app/config/
WORKDIR /app
# 运行jar包
RUN bash -c 'touch /app/app.jar'
ENTRYPOINT ["java","-Djava.securitycat .egd=file:/dev/./urandom","-jar","/app/app.jar", "-Dspring.profiles.active=prod"]
2、在当前路径下,执行Dockerfile脚本,就可以生成一个镜像,通过docker images就可以查看
docker build -t docker-demo:1.0.10 .
Dockerfile脚本执行过程
3、通过docker部署刚才生成的镜像
docker run -d -p 8090:8082 --name demo10 docker-demo:1.0.10
注意:要确认容器内服务的端口