【记录】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

相关推荐
一乐小哥1 分钟前
一口气同步10年豆瓣记录———豆瓣书影音同步 Notion分享 🚀
后端·python
LSTM974 分钟前
如何使用C#实现Excel和CSV互转:基于Spire.XLS for .NET的专业指南
后端
三十_5 分钟前
【NestJS】构建可复用的数据存储模块 - 动态模块
前端·后端·nestjs
武子康7 分钟前
大数据-91 Spark广播变量:高效共享只读数据的最佳实践 RDD+Scala编程
大数据·后端·spark
努力的小郑7 分钟前
MySQL索引(二):覆盖索引、最左前缀原则与索引下推详解
后端·mysql
阿拉伦9 分钟前
智能交通拥堵治理柔性设计实践复盘小结
后端
用户4099322502129 分钟前
如何在 FastAPI 中优雅地模拟多模块集成测试?
后端·ai编程·trae
一枝花算不算浪漫10 分钟前
线上频繁FullGC?慌得一比!竟是Log4j2的这个“特性”坑了我
jvm·后端
Cache技术分享10 分钟前
182. Java 包 - 创建和使用 Java 包
前端·后端
知其然亦知其所以然11 分钟前
三分钟接入!SpringAI 玩转 Perplexity 聊天模型实战
后端·spring·langchain