1. Solo 开源博客介绍
Solo 是一款小而美的开源博客系统,专为程序员设计。
源码仓库:
2. fork 源码到自己的 GitHub
- 打开 Solo 仓库,https://github.com/88250/solo
点击 fork 按钮,拉取源码到自己的 GitHub 上
- 执行 fork 之后,就会在自己的 GitHub 仓库看到克隆的项目
- 然后克隆自己的 solo 项目到本地,即可开始快乐的修改 solo 源码了
3. 开始定制自己的 solo 之旅
如果我们想要修改 solo 源码,第一步当然是要在本地把 solo 项目跑起来啦,参考搭建 Solo 开发环境
创建 solo 数据库
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
运行启动类
在 IDE 中直接运行 org.b3log.solo.Server
类。
启动成功后,就可以通过 localhost:8080 访问了
4. 通过本地 solo 项目构建 docker 镜像
docker 镜像的构建,会依照项目根部的 Dokerfile 进行构建
如 solo 的 Dokerfile 文件如下
5. 通过腾讯(阿里)云镜像仓库管理自己的镜像
我们修改源码后,最终会构建镜像,部署到云服务器上,这时我们可以通过云服务商提供的镜像仓库功能,管理自己的镜像,并在服务器上进行部署更新。
- 这次我们以腾讯云为例,我们可以通过腾讯云的镜像仓库,新建自己的私有仓库,来管理自己的镜像。
腾讯云镜像仓库地址:腾讯云镜像仓库
腾讯云镜像仓库使用文档:腾讯云镜像仓库文档
进入镜像仓库界面如图:
- 接下来就是进行镜像管理的操作
操作步骤
开通镜像仓库
说明:
首次使用镜像仓库的用户,需要先开通镜像仓库。
- 登录容器服务控制台,选择左侧导航栏中的【镜像仓库】>【我的镜像】。
- 根据以下提示填写相关信息,并单击【开通】进行初始化。如下图所示:
- 用户名:默认是当前用户的账号,是您登录到腾讯云 docker 镜像仓库的身份。
- 密码:是您登录到腾讯云 docker 镜像仓库的凭证。
创建命名空间
-
选择左侧导航栏中的【镜像仓库】>【我的镜像】,进入“我的镜像”页面。
-
在“我的镜像”页面中,选择【命名空间】页签并单击【新建】。如下图所示:
-
在弹出的“新建命名空间”窗口中,输入命名空间名并单击【提交】。如下图所示:
说明:
命名空间名称全局唯一,若您希望使用的命名空间名称已被其他用户使用,请尝试其他适用的命名空间名称。
创建镜像
-
选择左侧导航栏中的【镜像仓库】>【我的镜像】,进入“我的镜像”页面。
-
在“我的镜像”页面,单击镜像列表页上方的【新建】。如下图所示:
-
输入镜像名称和描述,然后【提交】。
说明:
命名空间将用于分类容器镜像,也是您创建的私人镜像地址的前缀,本文以 tkefiletest
为例。
推送镜像到镜像仓库
登录到腾讯云 registry
-
在终端替换以下命令中的相关信息并执行,登录腾讯云 registry。
$ sudo docker login --username=[username] ccr.ccs.tencentyun.com
username:腾讯云账号,开通时已注册。
-
输入密码后即登录完成。
上传镜像
根据以下提示替换命令中的相关信息并执行,上传镜像。
$ sudo docker tag [ImageId] ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]
$ sudo docker push ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]
- ImageId 和镜像版本号:根据已有镜像信息补充。
- namespace:开通镜像仓库时填写的命名空间。
- ImageName:在控制台创建的镜像名称。
下载镜像
-
执行以下命令登录到镜像仓库,需输入在 开通镜像仓库 中已设置的密码。
$ sudo docker login --username=[username] ccr.ccs.tencentyun.com
-
替换命令中的相关信息并执行,下载镜像。
$ sudo docker pull ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]
删除镜像
- 选择左侧导航栏中的【镜像仓库】>【我的镜像】,进入“我的镜像”页面。
- 在“我的镜像”页面,选择需删除镜像所在行右侧【删除】。
- 在弹出的“删除镜像仓库”窗口中,单击【确定】即可删除该镜像所有版本。如下图所示:
6. 利用腾讯云在线进行构建镜像
- 进入我们刚刚新建的镜像仓库,如图所示,会列出我们之前已经构建好的镜像版本
- 我们进入镜像构建-构建配置,进行设置镜像构建,关联我们的源码仓库,授权腾讯云访问我们的 github
- 我们配置好后就可以看到配置好的配置
- 点击立即构建,选择构建版本,并可以在线进行构建镜像,构建成功后,并会在下面生成构建记录,并创建对应版本镜像
- 当然除了我们手动构建镜像,还可以设置触发器,进行自动构建镜像,这样就可以在相应触发条件达成时,自动生成对应镜像
- 构建好的镜像如何部署到自己的服务器呢?
只需要执行如下命令即可,拉取镜像到服务器上
$ sudo docker login --username=[username] ccr.ccs.tencentyun.com
替换命令中的相关信息并执行,下载镜像。
$ sudo docker pull ccr.ccs.tencentyun.com/[namespace]/[ImageName]:[镜像版本号]
然后运行镜像,并可 run 起来了
docker run -d --name mysolo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
-v /dockerData/solo/skins:/opt/solo/skins \
ccr.ccs.tencentyun.com/aoker/mysolo:3.6.7 --listen_port=8080 --server_scheme=http --server_host=服务器IP --server_port=8080
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于