• 项目部署教程


    一、安装Docker环境

    搭建完成虚拟机之后
    通过xshell远程控制实现安装Docker

    (1)首先关闭虚拟机防火墙

    # 关闭运行的防火墙
    systemctl stop firewalld.service
    
    # 禁止防火墙自启动
    systemctl disable firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (2)然后安装Docker

    # 安装
    Docker yum -y install docker
    
    # 启动
    docker systemctl start docker
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3)开启远程docker服务

    # 修改docker配置文件
    vim /lib/systemd/system/docker.service
    
    # 在ExecStart=后添加配置,远程访问docker的端口为2375
    ExecStart=/usr/bin/dockerd-current 
    		-H tcp://0.0.0.0:2375 
    		-H unix://var/run/docker.sock \          
    		--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \          
    		--default-runtime=docker-runc \          
    		--exec-opt native.cgroupdriver=systemd \          
    		--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \          
    		--init-path=/usr/libexec/docker/docker-init-current \          
    		--seccomp-profile=/etc/docker/seccomp.json \          
    		$OPTIONS \          
    		$DOCKER_STORAGE_OPTIONS \          
    		$DOCKER_NETWORK_OPTIONS \
    		$ADD_REGISTRY \         
    		$BLOCK_REGISTRY \          
    		$INSECURE_REGISTRY \          
    		$REGISTRIES
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    # 重启
    dockersystemctl daemon-reload
    systemctl restart docker
    
    • 1
    • 2
    • 3

    二、安装Mysql容器

    (1)拉取mysql镜像

    docker pull mysql:5.7
    
    • 1

    (2)启动容器

    docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
    
    • 1

    (3)使用Navicat连接数据库

    (4)将开发时所用的数据导入到生产环境的数据库

    三、修改配置文件

    # 端口
    server:
      port: 8080
    
    # 数据源
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql:///travel?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
        username: root
        password: 3306
    # 上传文件
      servlet:
        multipart:
          max-file-size: 10MB # 最大单个文件
          max-request-size: 10MB # 一次请求最大上传
    
    #打包时必须配置该选项才能找到页面
    thymeleaf:
      mode: HTML
      cache: false
      prefix: classpath:/templates
    
    # 配置mybatis-plus
    mybatis-plus:
      global-config:
        db-config:
          # 主键生成策略为自增
          id-type: auto
      configuration:
        # 关闭列名自动驼峰命名规则映射
        map-underscore-to-camel-case: false
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
    
    # 日志格式
    logging:
      pattern:
        console: '%d{HH:mm:ss.SSS} %clr(%-5level) ---  [%-15thread] %cyan(%-50logger{50}):%msg%n'
    
    mail:
      user: 2572870097@qq.com
      password: gobwnngewozedjjf
    
    project:
      path: http://192.168.66.100
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    四、Maven制作镜像

    (1)pom文件中添加docker-maven-plugin插件

    <!-- docker-maven-plugin-->
    <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.2.2</version>
            <configuration>
                <!-- Docker路径 -->
                <dockerHost>http://192.168.66.100:2375</dockerHost>
                <!-- Dockerfile定义 -->
                <baseImage>openjdk:11</baseImage>
                <!-- 作者 -->
                <maintainer>zhang</maintainer>
                <resources>
                    <resource>
                         <!-- 复制jar包到docker容器指定目录 -->
                         <targetPath>/</targetPath>
                         <!-- 从哪个包拷贝文件,target包 -->
                        <directory>${project.build.directory}</directory>
                        <!-- 拷贝哪个文件 -->
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
                <workdir>/</workdir>
                <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
                <forceTags>true</forceTags>
                <!-- 镜像名 -->
                <imageName>${project.artifactId}</imageName>
                <!-- 镜像版本 -->
                <imageTags>
                <imageTag>${project.version}</imageTag>
                </imageTags>
             </configuration>
     </plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    (2)使用maven的packge命令给项目打包

    (3)使用maven的docker插件制作插件

    (4)查看所有镜像

    docker images
    
    • 1

    (5)启动容器

    docker run -d -p 8080:8080 travel:0.0.1-SNAPSHOT
    
    • 1

    最后访问项目即可

  • 相关阅读:
    复习Day15:栈与队列part02:20. 有效的括号、1047.删除字符串中所有相邻重复项
    进程和线程的区别
    【群智能算法改进】一种改进的棕熊优化算法 IBOA算法[1]【Matlab代码#64】
    CleanMyMac X果粉装机必备MAC软件 Macbook的垃圾清理工具
    uniapp学习笔记 真机运行遇到的问题
    Python——使用asyncio包处理并发
    跨境电商旺季来临,做好这8点爆单不用愁
    电脑前置耳机没声音怎么办
    戴尔科技集团通过多云数据保护和安全创新增强网络弹性
    (数据科学学习手札158)基于martin为在线地图快速构建精灵图服务
  • 原文地址:https://blog.csdn.net/weixin_52162723/article/details/126516141