• 阿里云操作日记


    昨天买了一个超级便宜的阿里云服务器,2核2G,3M固定带宽,40G ESSD Entry云盘,搭载一个简单的系统,就想到了docker轻量级,易于管理
    其实docker很好用,第一步就是安装docker

    一、docker安装与端口放开

    # 下载Docker安装脚本
    curl -fsSL https://get.docker.com -o get-docker.sh
    # 执行安装脚本
    sudo sh get-docker.sh
    # 启动Docker服务
    systemctl start docker
    # 有了前面三步基本上就搞定了
    # 设置开机自启
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    然后你想要安装什么样子的镜像就去docker镜像官网去搜索,执行相应命令就行,如下图
    在这里插入图片描述
    其实也没有必要这么麻烦docker pull mysqldocker的命令一般是这样子的,你想要什么版本,就在mysql后面打一个冒号,然后带上版本号,如docker pull mysql:8.0.22,docker pull mysql:5.7等等。
    在这里插入图片描述
    我的MySQL启动命令如下,参考:

     #将docker的3306端口挂载到linux系统的3306端口
    docker run -p 3306:3306 --name mysql \
     # 将主机的 /home/mysql/log 目录挂载到容器的 /var/log/mysql 目录,用于存储 MySQL 的日志文件。
     -v /home/mysql/log:/var/log/mysql \
     # 将主机的 /home/mysql/data 目录挂载到容器的 /var/lib/mysql 目录,用于存储 MySQL 的数据文件。
     -v /home/mysql/data:/var/lib/mysql \
     # 将主机的 /home/mysql/conf 目录挂载到容器的 /etc/mysql 目录,用于存储 MySQL 的配置文件。
     -v /home/mysql/conf:/etc/mysql \
     # 将主机的 /home/mysql/mysql-files 目录挂载到容器的 /var/lib/mysql-files 目录,用于存储 MySQL 的文件数据。
     -v /home/mysql/mysql-files:/var/lib/mysql-files \
     # 设置 MySQL 的 root 用户密码为 123456。这个参数使用了环境变量来传递密码信息。
     -e MYSQL_ROOT_PASSWORD=123456 \
     # 以后台模式运行 MySQL 容器,并使用 mysql:8.0.22 镜像作为容器镜像。
     -d mysql:8.0.22 \
     # 设置 MySQL 的字符集为 utf8mb4(支持 Emoji 表情),并使用 utf8mb4_0900_ai_ci 排序规则。这个参数可以确保 MySQL 能够正确地处理 Unicode 字符。
     --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    做完这一切,你还要开放开放阿里云的3306端口,输入如下命令即可

    # 查看防火墙状态
    firewall-cmd --state
    # 如果没有安装就安装防火墙
    systemctl start firewalld.service
    # 开放3306端口,这里如果开放其他端口之间将3306替换成你需要开放的其他端口号即可
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    # 加载一下
    firewall-cmd --reload
    # 查看本机所开放的端口
    firewall-cmd --list-ports
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    做完这一步,还需要在阿里云操作界面,安全规则那里将3306作为tcp开放出来,如下
    在这里插入图片描述

    二、将jar包做成docker镜像

    我的jdk版本用的是openjdk11,如下文件中之间选择你自己的jdk版本就行

    #使用openjdk 11基本映像
    FROM openjdk:11
    
    # 创建一个目录来存放应用程序
    WORKDIR /usr/src/lechat
    
    #将JAR文件复制到容器中
    COPY lechat-space-serve-1.0-SNAPSHOT.jar /usr/src/lechat
    
    #容器启动时要运行的命令
    CMD ["java", "-jar", "/usr/src/lechat/lechat-space-serve-1.0-SNAPSHOT.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    三、远程debug

    如下图配置Idea,2步搞定,注意:端口号不要和spring应用的端口号一样然后再copy那一行remote JVM参数
    在这里插入图片描述
    用来启动远程的jar包,例如: java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:18888 -jar userJob-0.0.1-SNAPSHOT.jar
    在这里插入图片描述

    看到这句话说明服务端应用启动成功:Listening for transport dt_socket at address: 18888,然后看到这句话说明本地环境已经连接服务器成功:Connected to the target VM, address: '121.199.26.113:18888', transport: 'socket',至此就可以打本地的端点调试了。

    最近开发心得

    1、接手老系统改造时一定要注意,新增表记录是否是被允许的(也就是新增的这条记录能否在现有的业务下形成业务闭环,不确认就和产品确认)本人在做多边形相交业务时,对warehouse里面的仓库进行新增设置,warehouse_settings有就更新,没有就新增,其实会影响现有业务。后来改成有就更新,没有报错提示用户先新增仓库的设置,然后再保存多边形描点。
    2、改bug有影响点一定要梳理出来,让测试再回归一下。不要走经验。
    3、多多自测,自测,还是自测!

  • 相关阅读:
    智慧公厕建设的好处
    JS实现图片懒加载
    Real-Time Rendering——8.1.4 Rendering with RGB Colors8.1.4用RGB颜色渲染
    极智AI | 昇腾开发环境搭建 CANN & MindStudio (无坑版)
    lv3 嵌入式开发-2 linux软件包管理
    数据结构 ----- 堆排序
    ASEMI整流二极管MR754参数,MR754图片,MR754应用
    每日一题——打印菱形图案
    Elasticsearch版本和Spring Data Elasticsearch版本对应关系
    基于改进海洋捕食者算法求解单目标优化问题附matlab代码(NMPA)
  • 原文地址:https://blog.csdn.net/Sumuxi9797926/article/details/137217421