阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在一个Docker容器里安装Discourse

140次阅读
没有评论

共计 3745 个字符,预计需要花费 10 分钟才能阅读完成。

大家好,今天我们将会学习如何利用 Docker 平台安装 Discourse。Discourse 是一个完全开源的讨论平台,以未来十年的互联网理念设计,拥有一个邮件列表,一个论坛和一个长篇聊天室。不管从技术角度还是社会学角度,如今要体验一个现代的、勃勃生机的、完全开源的互联网讨论平台,Discourse 都是一个不错的途径。Discourse 是一个简单、简明、简易的讨论方式。它确实是一个令人称赞的平台,对于互联网上各种各样的论坛来说,提供了一个上手可用的很酷的服务。

Docker 是一个开源的、可以将任何应用以轻量级容器的方式打包、传输和运行的开放平台。Docker 容器技术使得可以更加方便和容易构建 Discourse。

所以,下面是一些快速且容易的步骤,用来在一个 Docker 环境里面安装 Discourse。

 

1. 安装 Docker

首先,我们需要确认我们的主机操作系统已经安装了 Docker。我们需要在 shell 或者终端运行以下命令安装 Docker。

 

在 Ubuntu 上

docker 安装包在 Ubuntu 的仓库里面是可用的,所以我们将会使用 apt 管理器安装,以 sudo 或者 root 模式

  1. # apt-get docker

 

在 CentOS 7 上

在 CentOS 7 的主机上,我们使用 yum 管理器安装 docker,因为 CentOS 的仓库里同样有 docker 安装包

  1. # yum install docker

如何在一个 Docker 容器里安装 Discourse

 

2. 设定交换内存

如果你的 RAM 容量小于 1GB,那么确保升级你的系统达到 1GB 或者以上,Discourse 不能在 512MB 的 RAM 下安装。如果你现在准备好了安装 Discourse,根据下面的步骤为你的 VPS(Virtual Private Servers)或者服务器设定交换内存:

运行下面的命令,创建一个空的交换文件。

  1. # install -o root -g root -m 0600 /dev/null /swapfile

如果你想你的交换内存达到 1GB,那么执行下面的步骤,并且跳过接下来的第二步。

  1. # dd if=/dev/zero of=/swapfile bs=1k count=1024k

如果你想达到 2GB,跳过上一步,跟着下面做

  1. # dd if=/dev/zero of=/swapfile bs=1k count=2014k

接着,我们指定交换内存为 swapfile

  1. # mkswap /swapfile

运行下面的命令激活交换内存

  1. # swapon /swapfile

现在,我们将其添加到文件系统分区表里,这样重启之后就自动挂载了。

  1. # echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab

设置 swappiness 参数为 10,这样交换内存仅作为一个紧急缓冲区用。

  1. # sudo sysctl -w vm.swappiness=10
  2. # echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

 

3. 安装 Discourse

在我们的主机上安装好 Docker 后,我们将会安装 Discourse。现在,我们从官方的 Discourse GitHub 仓库克隆一份到 /var/discourse 目录下。我们需要运行下面的命令完成这一步。

  1. # mkdir /var/discourse/
  2. # cd /var/discourse/
  3. # git clone https://github.com/discourse/discourse_docker.git /var/discourse/

克隆好仓库后,我们给 discourse 服务器复制配置文件

  1. # cp samples/standalone.yml containers/app.yml

如何在一个 Docker 容器里安装 Discourse

 

4. 配置 Discourse

接下来,我们用自己喜欢的文本编辑器,编辑容器目录下的 discourse 配置文件 app.yml

  1. # nano containers/app.yml

现在,我们需要将开发者邮箱地址 DISCOURSEDEVELOPEREMAILS 修改为自己的,如下。

  1. DISCOURSE_DEVELOPER_EMAILS:'arun@linoxide.com'

然后,我们设置主机名为服务器的域名。

  1. DISCOURSE_HOSTNAME:'discourse.linoxide.com'

接着,设置放在相同的 discourse 主机或 vps 上的 SMTP 服务器的认证信息。这些 SMTP 设置用于你的 Discourse 发送邮件。

  1. DISCOURSE_SMTP_ADDRESS: smtp.linoxide.com
  2. DISCOURSE_SMTP_PORT:587# (可选)
  3. DISCOURSE_SMTP_USER_NAME: admin@linoxide.com # (可选)
  4. DISCOURSE_SMTP_PASSWORD: test123 # (可选)

如何在一个 Docker 容器里安装 Discourse

如果你在使用一个 1GB 的 Discourse,设定 UNICORNWORKERS 为 2,dbshared_buffers 为 128MB,这样你会有更多的内存空间。

运行 Discourse 需要强制性地创建一个邮件服务器。如果你已经有一个服务器了那就好办多了,我们可以使用它的认证信息。如果你没有现成的邮件服务器,或者你不知道那是什么。没关系,可以在 Mandrill(或 Mailgun 和 Mailjet)创建一个免费的帐号,然后使用其提供的认证信息。

 

5. 启动 Discourse 应用

配置完 discourse 的配置文件后,我们当然是想启动 Discourse 服务器。首先,在 /var/discourse/ 目录下运行下面的命令,加载 discourse 引导程序。

  1. # ./launcher bootstrap app

如何在一个 Docker 容器里安装 Discourse

上述命令可能会花去几分钟时间,会自动配置我们的 Discourse 环境。然后,该进程完成后,我们需要运行下面的命令启动 Discourse App

  1. # ./launcher start app

如何在一个 Docker 容器里安装 Discourse

如果一切都正常,我们就能使用惯用的浏览器来访问我们新鲜出炉的 Discourse 的 Web 界面了:http://ip-address/ 或 http://discourse.linoxide.com/。然后,我们就可以创建一个新账号并成为管理员。

如何在一个 Docker 容器里安装 Discourse

 

维护

这里往下是 /var/discourse/ 目录里的 launcher 命令的用法,它可以用于我们在 Docker 容器里面控制和维护 Disourse。

  1. 用法: launcher 命令 配置[--skip-prereqs]
  2. 命令:
  3. start:启动 / 初始化一个容器
  4. stop:停止一个运行的容器
  5. restart:重启一个容器
  6. destroy: 停止并删除一个容器
  7. enter:使用 nsenter 进入容器
  8. ssh:在一个运行的容器中启动一个 bash shell
  9. logs:容器的 Docker l 日志
  10. mailtest:在容器中测试邮件设置
  11. bootstrap:基于配置模版来引导一个容器
  12. rebuild:重建一个容器(摧毁旧的,初始化,启动新的)
  13. cleanup:清理所有停止了 24 小时以上的容器
  14. 选项:
  15. --skip-prereqs 不检查前置需求
  16. --docker-args 当运行 docker 时,展开并传入参数

 

总结

哈哈!我们已经成功使用 Docker 技术安装了 Discourse。Docker 技术使得 Discourse 十分容易安装在任何平台,并且包含所有的要求。我们需要自己的邮件服务器或者邮件服务器的证书来启动它。对于便捷的现代邮件列表,论坛来说,Discourse 是一个伟大的平台。(最后这句有些别扭)

如何在 Ubuntu 14.10 上安装 WordPress?http://www.linuxidc.com/Linux/2015-02/112648.htm

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm 

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里


via: http://linoxide.com/how-tos/install-discourse-docker-container/

作者:Arun Pyasi 译者:wi-cuckoo 校对:wxy

本文由 LCTT 原创翻译,Linux 中国 荣誉推出

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-06/118477.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3745字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中