【记录】Springboot项目集成docker实现一键部署

公司管理平台完成后,为了方便其他不懂开发的同事部署和测试,集成docker进行一键部署,也为后面自动化部署做准备。本文做个简单记录。

1、安装docker

yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

docker version检查安装是否成功

2、安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

docker-compose --version 检查是否安装成功

权限不够给文件授权 chmod +x /usr/local/bin/docker-compose

3.构建docker-compose相关文件,主要包含db的sql文件、项目jar文件。

docker-compse.yml如下, 其中weiyi-mysql是数据库服务名,weiyi-server是项目服务名,其他细节后续专门写文章详细介绍。

version : '3'
services:
  weiyi-mysql:
    container_name: weiyi-mysql
    image: mysql:5.7
    build:
      context: .
      dockerfile: mysql-dockerfile
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/logs
      - ./mysql/data:/var/lib/mysql
    command: [
          'mysqld',
          '--innodb-buffer-pool-size=80M',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
          '--default-time-zone=+8:00',
          '--lower-case-table-names=1'
        ]
    environment:
      MYSQL_DATABASE: weiyidb
      MYSQL_ROOT_PASSWORD: 这里填写root密码
  weiyi-server:
    container_name: weiyi-server
    build:
      context: .
      dockerfile: weiyi-dockerfile
    ports:
      - "80:80"
    volumes:
      - ./weiyi/logs:/home/weiyi/logs
      - ./weiyi/uploadPath:/home/weiyi/uploadPath
    depends_on:
      - weiyi-mysql
    links:
      - weiyi-mysql

mysql-dockerfile

# 基础镜像
FROM mysql:5.7
# author
MAINTAINER sunx <554686223@qq.com>

# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/

weiyi-dockerfile

# 基础镜像
FROM java:8
# author
MAINTAINER sunx <554686223@qq.com>

# 挂载目录
VOLUME /home/weiyi
# 创建目录
RUN mkdir -p /home/weiyi
# 指定路径
WORKDIR /home/weiyi
# 复制jar文件到路径
COPY ./jar/*.jar /home/weiyi/weiyi.jar
# 启动应用
ENTRYPOINT ["java","-jar","weiyi.jar"]

上传到服务器

4.启动docker systemctl start docker

5.构建docker服务 docker-compose build

注意执行时路径在docker-compose.yml所在路径或者指定文件路径。

开始构建服务:

构建服务完成:

可以查看docker中镜像,包含了项目的服务镜像。

6.启动服务

启动服务的容器docker-compose up weiyi-mysql weiyi-server

7.停止服务

停止服务的容器docker-compose stop weiyi-mysql weiyi-server

相关推荐
HaiFan.4 分钟前
Spring日志
java·spring boot
Hello Dam20 分钟前
基于 Spring Boot 实现图片的服务器本地存储及前端回显
服务器·前端·spring boot
LightOfNight20 分钟前
Redis设计与实现第14章 -- 服务器 总结(命令执行器 serverCron函数 初始化)
服务器·数据库·redis·分布式·后端·缓存·中间件
刽子手发艺29 分钟前
云服务器部署springboot项目、云服务器配置JDK、Tomcat
java·后端·部署
White graces1 小时前
Spring MVC练习(前后端分离开发实例)
java·开发语言·前端·后端·spring·java-ee·mvc
kingwebo'sZone4 小时前
ASP.net WebAPI 上传图片实例(保存显示随机文件名)
后端·asp.net
桑榆肖物4 小时前
一个简单的ASP.NET 一致性返回工具库
后端·asp.net
组态软件7 小时前
web组态软件
前端·后端·物联网·编辑器·html
Peter_chq7 小时前
【计算机网络】多路转接之select
linux·c语言·开发语言·网络·c++·后端·select
kaiyuanheshang8 小时前
docker 中的entrypoint和cmd指令
运维·docker·容器·cmd·entrypoint