images/default1.jpg

Docker安装Discourse论坛/BBS系统(Nginx)

Wednesday, Aug 19, 2020

最近要做Flame中文站 的论坛模块,考虑到技术人社区的重要性,选用了Discourse论坛系统。安装过程相当坎坷,本篇文章就来记录下Docker安装Discourse论坛/BBS系统的全过程。 先决条件 你的服务器/主机已经妥善安装Docker 你的服务器/主机已经妥善安装Git 掌握Git基础 掌握Docker基础 掌握Bash基础 本篇文章的环境: 环境 版本 主机 阿里云ECS 操作系统 CentOS 7 开始 [epcl_box type=“notice”]即使有阿航的教程会较少大部分坑,在国内部署Discourse是仍然是较痛苦的一件事情。可以查询的资料微乎其微,如果你不喜欢折腾,请选用其他的论坛框架![/epcl_box] 配置 你的服务器的必须大于以下配置,否则你会无限踩坑: 双核CPU 1 GB 运行内存 64位 Linux内核系统 已经安装Docker 下载Discourse 创建一个目录,用于存放Discourse。比如: `mkdir /usr/local/discourse` 获得管理员权限: `sudo -s` 克隆discourse(命令后半段的路径和上方创建的保持一致): `git clone 'https://github.com/discourse/discourse_docker.git' /usr/local/discourse` 耐心等待完成。 完成后,进入该目录: `cd /usr/local/discourse` 修改配置 克隆示例配置文件: `cp samples/standalone.yml containers/app.yml` 打开文本编辑器,修改复制后的配置文件: `vim containers/app.yml` 配置国内镜像 如果你身在大陆,则需要进行镜像加速。找到配置文件中的templates块,添加国内镜像templates/web.china.template.yml: ` templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/sshd.template.yml" - "templates/web.template.yml" - "templates/web.china.template.yml"` 其他配置 注销或删除掉expose下面的80和443端口: ` expose: - "80:80" # http - "443:443" # https` 这里列出需要修改的几项(非完整配置文件):
2 minute read
images/default3.jpg

IDEA 一键部署 SpringBoot 项目到远程服务器 Docker 内

Sunday, Jun 21, 2020

Docker作为当前较为流行的微服务容器管理工具, 极大的方便了传统运维部署的工作. IDEA作为地表最强Java开发IDE, 自然提供了对Docker服务的支持. 本篇文章就来记录下如何使用IDEA 一键部署 SpringBoot 到远程服务器 Docker 内. 应用场景 先来看下传统的部署流程: 传统开发流程还好, 每个版本的间隔时间较长. 但是对于小型敏捷开发团队, 这个流程就很要命了! 阿航个人的经验, 每个项目从打包到重启Docker服务器, 预计要花费近10~20分钟! 痛不欲生. 需具备的条件 你了解服务器的基本使用. 你掌握Docker/Dockerfile的使用. 你掌握基础的Bash命令. 本篇文章的环境: 实战开始 [epcl_box type=“notice”]本篇教程小步骤较多! 只要稍有疏忽就可能导致失败! 请实践时仔细阅读教程![/epcl_box] 生成CA公钥私钥 进入安装了Docker的远程服务器, 创建目录ca, 用于存储docker ca认证文件: mkdir -p /usr/local/ca 进入该目录中: cd /usr/local/ca 执行以下命令, 生成公钥及私钥. 需要输入你自己的密码. 记住该密码, 下面会多次使用: openssl genrsa -aes256 -out ca-key.pem 4096 执行以下命令, 根据提示分别输入你的信息: openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem 执行以下命令生成key: openssl genrsa -out server-key.pem 4096 执行以下命令, 把$HOST替换为你的远程服务器的IP地址:
2 minute read
images/default4.jpg

Docker 搭建 Minecraft (我的世界)服务器

Monday, May 4, 2020

国内的某易代理简直是太好(la)用(ji)了. 这不最近想重拾一下青春.. 下载, 并打开国服 我的世界 Minecraft , 好家伙, 占了1g多的手机存储, 材质光影资源短缺, 界面卡到爆😓 回头一看官方版, 包大小只有98m.. 作为一个7年的MC老玩家简直不能忍! 回想起很久之前自己开服, 现在又掌握了Docker容器技术, 尝试一下自己开服. 需具备的条件 本篇教程针对于以下人群: 愿意为Minecraft而折腾的人. 了解Docker基本用法, 如果你对Docker还不太熟悉, 可以阅读Docker官方文档 、Docker菜鸟教程 等. 拥有自己的云服务器(阿里云等). 了解常见终端语法. 使用PocketMine 在Docker Hub 中搜索关键字: pocketmine, 可以看到有好多相关镜像. 在选型中, 我们一般会选用活跃度高一些的镜像. 也就是"没凉"的镜像. 长时间不维护的镜像可能出现无法快速解决的Bug等! 途中最新的镜像距文章编写时间只有18个小时, 已经非常活跃了, 所以选用这个! 点击, 进入circleeh/pocketmine详情页 . 拉取镜像 选取版本 这里一定要注意选择合适的版本, 若版本不兼容则会无法加入至服务器, 先来看一下自己的Minecraft版本号, 再去这个Github网址 对照自己的版本! 打开官方Github Release网址 , 可以看到: 如你所见, 大标题后面的是PocketMine版本号, 下面的副标题是对应的Minecraft版本号. 回到circleeh/pocketmine详情页 , 点击Tags: 看到这个页面: 如图所示, Image标签包含版本号, 后面对应了其拉取镜像的命令. 拉取镜像 确认版本号后, 进行拉取. 本文以3.11.7-1792版本为例, 在终端中输入: docker pull circleeh/pocketmine:3.
1 minute read
images/default2.jpg

Docker 安装 MySQL

Monday, Apr 13, 2020

本文为 docker 安装 mysql 容器的完整详细教程. 若图片展示异常, 请访问我的官方博客 准备工作 开发环境 本博客的环境一览: 环境 版本号 docker 1.13.1 注意您的环境和文中的差异, 避免出现不兼容的情况哦! 需具备的条件 要顺利阅读本文, 假定您已经掌握了以下知识: docker环境已正常安装 掌握基本的终端命令 实战开始 查询所有的mysql镜像 docker search mysql 选择并拉取你想要的镜像(这里拿官方的mysql8进行举例) docker pull mysql:8.0 查询已下载的MySQL镜像 docker images |grep mysql 使用镜像创建容器 docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0 解析: -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。 -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的/etc/mysql/my.cnf。 -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。 -v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的 /var/lib/mysql **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。 查看容器运行情况 docker ps 优雅关闭 docker stop [容器id] 启动已停止的容器 docker start [容器id] 重启容器 docker restart [容器id] 大功告成 通过以上的一些步骤, 我们完成了Dokcer安装Mysql的目标, 是不是很简单?
1 minute read