一. 背景

快到2018了,一年过得如火如荼,今年因为K8S的原因,Docker很是红火、
一个简单的Docker部署Springboot项目实例供大家参考、

二. 实例

步骤:
1. 创建镜像
2. 启动应用

1. 创建镜像

  1. 创建DockerFile
cd /var/docker
vi Dockerfile
  1. 编写
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中的注解别加哈,我为了解释清楚

  1. 进入DockerFile 目录下
    把项目打包好的standard.jar上传到这个目录下
    打包jar的方法很多,我用的是在项目工作空间中运行
mvn clean  install package

之后打镜像

docker build -t hero/test:dev  .

解释:
. :表示Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
-t :指定镜像名
名字后面的”: “:代表tag,也就是1.0

  1. 查看镜像
docker images 

也可以打TAG
5. 镜像打tag

docker tag  1234(镜像ID) hero/test:dev1.0

2. 启动应用

  1. 使用镜像创建容器
docker run –t –i hero/test:dev &
  1. 查看容器
docker ps 
  1. 查看日志
docker logs -f 123123(容器ID)

3. 测试

随便访问个项目接口
http://12.23.11.44:8081/user/1
完美~~


后续文章中会讲述kuberneters 搭建微服务项目实例。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐