java springboot Notebook应用发布到docker【QF】
Notebook项目架构图及解释:
客户端浏览器输入网址请求系统,通过zuul网关分发,进行服务的分发。
网关会通过eureka注册中心服务拿到notebook服务。
notebook请求的结果会返回给zuul网关,然后再转发给客户端。
zipkin服务治理会监听zuul和notebook服务的状态。
#理论端口,可按具体情况调整。
1 discovery-service/eureka 8765
2 zipkin-service 9411
3 notebook-service 1111
4 gateway-service 8761
1、部署大致流程demo
1、安装编译环境
yum install java-1.8.0-openjdk maven -y
2、编译构建
mvn clean package -DskipTests=true
3、替换maven国内源
4、使用Dockerfile构建 镜像并推送到镜像仓库
docker build -t 192.168.31.70/dev/java-demo:v10 .
docker login 192.168.31.70
docker push 192.168.31.70/dev/java-demo:v10
5、docker run运行对应项目
2、所有的dockerfile
JFrog镜像仓库
上传镜像后界面:
名字为docker的虚拟仓库:
所以文章中dockerfile的docker push会有写 docker push art.local:8081/docker-local/ 或 docker push art.local:8081/docker/ 的。
也就是说写docker-local或写docker也行。
如果测试的镜像没问题,可以进行仓库的复制“晋级”
构建Notebook Docker镜像
#hosts映射 127.0.0.1 art.local
dockcer login art.local:8081 admin/passwod
#buildAndPushImage.sh
mvn package
#art.local:8081是自建的docker镜像仓库Jfrog
docker build -t art.local:8081/docker-local/notebook-k8s/notebook-service:lastest .
docker push art.local:8081/docker-local/notebook-k8s/notebook-service:lastest
zuul/gateway网关
FROM azul/zulu-openjdk-alpine
ADD target/gateway-service-1.0.jar gateway-service.jar
ENTRYPOINT ["java", "-jar", "/gateway-service.jar"]
EXPOSE 8765
eureka注册服务
FROM azul/zulu-openjdk-alpine
MAINTAINER Wang Qing <wq237wq@gmail.com>
ADD target/discovery-service-1.0.jar discovery-service.jar
ENTRYPOINT ["java", "-jar", "/discovery-service.jar"]
EXPOSE 8761
notebook应用服务
FROM azul/zulu-openjdk-alpine
ADD target/notebook-service-1.1.jar notebook.jar
ENTRYPOINT ["java", "-jar", "/notebook.jar"]
EXPOSE 1111
zipkin服务治理 / config-service
FROM azul/zulu-openjdk-alpine
ADD target/config-service-1.0.jar config-service.jar
ENTRYPOINT ["java", "-jar", "/config-service.jar"]
EXPOSE 8888
3 docker run启动所有微服务
#1、服务发现 eureka
docker run --name discovery-service -d -p 8761:8761 art.local:8081/docker/notebook-k8s/discovery-service:latest
#2、服务治理 zipkin
docker run --name zipkin-service -d -p 9411:9411 art.local:8081/docker/notebook-k8s/zipkin-service:latest
sleep 10
#3、应用服务 notebook
docker run --name notebook-service -d -p 1111:1111 --link discovery-service:eureka-server --link zipkin-service:zipkin-server art.local:8081/docker/notebook-k8s/notebook-service:latest
sleep 10
#4、网关服务 zuul / api-gateway
docker run --name gateway-service -d -p 8765:8765 --link discovery-service:eureka-server --link zipkin-service:zipkin-server art.local:8081/docker/notebook-k8s/gateway-service:latest
4 访问页面
eureka
localhost:8761
notebook应用服务
localhost:1111
END
其他 docker镜像的晋级方法
1
2、
9-6 搭建免费版Docker镜像仓库 ~ 9-10 使用Docker运行多个微服务