Docker部署springboot项目实例
一. 背景快到2018了,一年过得如火如荼,今年因为K8S的原因,Docker很是红火、一个简单的Docker部署Springboot项目实例供大家参考、二. 实例步骤:1. 创建镜像2. 启动应用1. 创建镜像创建DockerFilecd /var/dockervi Dockerfile编写FROM hub.yun.paic.com.cn/official/jdk:8
·
一. 背景
快到2018了,一年过得如火如荼,今年因为K8S的原因,Docker很是红火、
一个简单的Docker部署Springboot项目实例供大家参考、
二. 实例
步骤:
1. 创建镜像
2. 启动应用
1. 创建镜像
- 创建DockerFile
cd /var/docker
vi Dockerfile
- 编写
FROM hub.yun.paic.com.cn/official/jdk:8 #使用镜像
VOLUME /var/docker/standard #绑定容器内的路径到主机
ADD standard.jar app.jar #拷贝standard .jar 到容器内并且命名为app.jar
RUN bash -c 'touch /app.jar' #以bash方式运行jar
EXPOSE 8080 #容器对外开放端口
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=docker"] #启动jar并且添加参数
解释:
FROM ;使用的底层镜像
RUN :指令告诉docker 在镜像内执行命令,安装了什么。。。
EXPOSE :指令用来告诉Docker这个容器在运行时会监听哪些端口,也就是这些端口与本机绑定
“-Djava.security.egd=file:/dev/./urandom” 防止一个容器内启动多个实例 安全问题
Dockerfile中的注解别加哈,我为了解释清楚
- 进入DockerFile 目录下
把项目打包好的standard.jar上传到这个目录下
打包jar的方法很多,我用的是在项目工作空间中运行
mvn clean install package
之后打镜像
docker build -t hero/test:dev .
解释:
. :表示Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
-t :指定镜像名
名字后面的”: “:代表tag,也就是1.0
- 查看镜像
docker images
也可以打TAG
5. 镜像打tag
docker tag 1234(镜像ID) hero/test:dev1.0
2. 启动应用
- 使用镜像创建容器
docker run –t –i hero/test:dev &
- 查看容器
docker ps
- 查看日志
docker logs -f 123123(容器ID)
3. 测试
随便访问个项目接口
http://12.23.11.44:8081/user/1
完美~~
后续文章中会讲述kuberneters 搭建微服务项目实例。
更多推荐
已为社区贡献2条内容
所有评论(0)