docker部署springboot
-
打包springboot源文件
编辑需要改变的application.yml配置文件,进行maven clean与package,取出jar包
-
创建数据卷
# 创建总数据卷文件夹 mkdir /home/centos/data-volume # 创建springboot数据卷文件夹 mkdir /home/centos/data-volume/springboot-volume # 创建dockerfile、log文件夹 cd /home/centos/data-volume/springboot-volume; mkdir dockerfile; mkdir log;
-
构建自定义镜像
-
创建文件Dockerfile,无后缀
-
写入配置文件(#号及后的内容最后需要删掉)
# 镜像来源,可以指定版本或者使用最新版本*:latest FROM openjdk:8-jdk-alpine # 在容器内部定义一个匿名数据卷挂载在宿主机的文件系统下,运行时可修改挂载点 VOLUME /data-volume # 从上下文目录中复制文件或者目录到容器里的指定路径 COPY ./springboot打包名称.jar /data-volume/springboot打包名称.jar # 指定容器启动程序及参数 ENTRYPOINT java -jar /data-volume/springboot打包名称.jar
-
通过工具或者命令把jar包与Dockerfile文件传到/home/centos/data-volume/springboot-volume/dockerfile目录下
-
构建镜像
# 跳转目录 cd /home/centos/data-volume/springboot-volume/dockerfile # 构建命令 docker build -t 镜像名:版本号 . (注意最后的点) docker build -t myspringboot:1.0 . # 查看镜像是否构建成功 docker images
-
-
创建并运行容器
docker run -it -d --name demo-springboot -p 8088:8088 myspringboot:1.0
参数 说明 -i 以交互模式运行容器,通常与 -t 同时使用 -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用 -d 后台运行容器,并返回容器ID –name 为容器指定一个名称 -p 指定端口映射,格式为:主机(宿主)端口:容器端口 -
查看容器信息
# 查看容器是否运行 docker ps # 查看容器列表(得到容器名或者容器ID) docker ps -a # 查看容器日志 docker logs 容器名或者容器ID # 获取容器的元数据 docker inspect 容器名或者容器ID
-
保存日志
# 将容器的日志实时下载到指定路径: docker logs -f 容器名或者Id >> 路径/文件 & docker logs -f demo-springboot >> /home/centos/data-volume/springboot-volume/log/demo-springboot.log & #查看日志 docker logs -f demo-springboot cat /home/centos/data-volume/springboot-volume/log/demo-springboot.log