windows環境docker部署本地springboot項目


采用consul作為注冊中心
docker部署consul服務器參加:https://www.cnblogs.com/stubborn-dude/p/14086700.html

其本地application.properties配置文件內容:

spring.cloud.consul.host=host.docker.internal

spring.cloud.consul.host=127.0.0.1
spring.cloud.consul.port=8500
spring.application.name=consul-hi
server.port=8504
spring.cloud.consul.discovery.health-check-path=/health
spring.cloud.consul.discovery.health-check-interval=15s
spring.cloud.consul.discovery.service-name=consul-hi
spring.zipkin.base-url=http://127.0.0.1:9411
spring.sleuth.sampler.probability=1.0

Aplication類中增加如下代碼
@RequestMapping("/hi")
public String hi(String name){
return new StringBuilder().append("Hello world! ").append(name).
append(",你的端口為").append(port).toString();
}
打包springboot工程,(需要提前啟動consule,jUnit報錯)

打包完成如圖

用本地java 命令 運行是否正常
命令:java -jar consul-producer-1.0.0.jar

運行正常

新建一個Dockerfile文件

Dockerfile文件內容:
FROM openjdk:8-jdk-alpine
MAINTAINER https://自己的加速.mirror.aliyuncs.com
ADD consul-producer-1.0.0.jar producer-1.0.0.jar
CMD java -jar producer-1.0.0.jar

powershell命令進入Dockerfile目錄后執行命令:
docker build -f .\Dockerfile -t demo .
上面的(.)點必須要有
docker會分層構建完成,使用docker images 查看鏡像

docker run -p 8888:8504 -t demo(第一個端口是docker訪問的端口,第二個是原springboot應用監聽的端口,兩個可以一致)
或者這么寫 docker run -it --name=gq_demo -p 8888:8504 demo
對於mac和windows,可以使用host.docker.internal替換127.0.0.1

刪除鏡像
1.查看所有運行中的容器docker ps -a;
2.停止容器運行docker stop container-id;
3.刪除這個容器docker rm container-id;
4.docker images查看鏡像ID
5.刪除這個鏡像docker rmi image-id。

idea用docker發布項目
https://mp.weixin.qq.com/s/Ra9tILYgcIYrdeo2IqESVg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM