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