SpringBoot构建成docker镜像

docker关联

  • 让docker之间可以相互访问
  • dockers --link进行关联

修改配置

  • springboot 配置文件,给相关的host(ip)修改别名
  • 打包springboot项目
    • 进入项目 
    • mvn clean package -Dmaven.test.skip=true
    • 将target目录文件的jar包上传服务器

制作镜像

  • 创建Dockerfile文件
  • 编写命令
    FROM java:8
    EXPOSE 8080
    
    VOLUME /tmp
    
    ENV TZ=Asia/Shanghai
    RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone
    
    ADD a.jar  /app.jar
    RUN bash -c 'touch /app.jar'
    ENTRYPOINT ["java","-jar","/app.jar"]
    
    
    FROM java:8 表示基于jdk8环境
    EXPOSE 8080 表示对外暴露的端口是8080
    VOLUME /tmp 表示挂载到/tmp目录
    ADD a.jar /app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar
    RUN bash -c 'touch /app.jar' 表示执行创建app.jar
    ENTRYPOINT ["java","-jar","/app.jar"] 表示执行启动命令java -jar
    
    
    解释说明: 
    FROM java:8 表示基于jdk8环境
    EXPOSE 8080 表示对外暴露的端口是8080
    VOLUME /tmp 表示挂载到/tmp目录
    ADD eblog-0.0.1-SNAPSHOT.jar /app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar
    RUN bash -c 'touch /app.jar' 表示执行创建app.jar
    ENTRYPOINT ["java","-jar","/app.jar"] 表示执行启动命令java -jar

     

  • 构建镜像
    • docker build -t 镜像名 .
    • docker images 就可以查看
    • 启动:
      docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog
    • 日志查看 docker logs -f 镜像名

SpringBoot构建成docker镜像_第1张图片

你可能感兴趣的:(docker,项目实战)