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

相关推荐
ShiXZ2131 小时前
Docker Compose 安装与配置指南
运维·docker·容器
止语Lab2 小时前
好的 DX 不等于少写代码——三种语言的摩擦力设计课
后端
吃饱了得干活2 小时前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
程序员天天困2 小时前
Arthas trace 命令怎么用?一行定位最慢那行代码
jvm·后端
Huiturn2 小时前
GPT 5.6 连续编码 10 小时,纯 Python 啃下 Word 二进制格式——doc2docx 实现拆解
后端
dkbnull2 小时前
Spring Boot请求处理组件对比详解
java·spring boot
用户298698530142 小时前
Python 实现 Excel 与 Markdown 互转的实用指南
后端·python·excel
不能只会打代码2 小时前
Day 011 — Spring 全家桶深度拆解
spring boot·mybatis·spring aop·spring mvc·spring ioc
用户77283104908402 小时前
krono-job:零侵入、单二进制交付的分布式任务调度平台(开源)
后端
BullSmall2 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器