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

相关推荐
Channing Lewis26 分钟前
flask常见问答题
后端·python·flask
Channing Lewis28 分钟前
如何保护 Flask API 的安全性?
后端·python·flask
!!!5257 小时前
日志技术-LogBack入门程序&Log配置文件&日志级别
spring boot
Ai 编码助手8 小时前
在 Go 语言中如何高效地处理集合
开发语言·后端·golang
小丁爱养花9 小时前
Spring MVC:HTTP 请求的参数传递2.0
java·后端·spring
Channing Lewis9 小时前
什么是 Flask 的蓝图(Blueprint)
后端·python·flask
不会飞的小龙人9 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人9 小时前
Docker基础安装与使用
linux·运维·docker·容器
张3蜂10 小时前
docker Ubuntu实战
数据库·ubuntu·docker
轩辕烨瑾10 小时前
C#语言的区块链
开发语言·后端·golang