Linux中國

如何在一個Docker容器里安裝Discourse

2. 設定交換內存

如果你的RAM容量小於1GB,那麼確保升級你的系統達到1GB或者以上,Discourse不能在512MB的RAM下安裝。如果你現在準備好了安裝Discourse,根據下面的步驟為你的VPS(Virtual Private Servers)或者伺服器設定交換內存:

運行下面的命令,創建一個空的交換文件。

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

如果你想你的交換內存達到1GB,那麼執行下面的步驟,並且跳過接下來的第二步。

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

如果你想達到2GB,跳過上一步,跟著下面做

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

接著,我們指定交換內存為swapfile

# mkswap /swapfile

運行下面的命令激活交換內存

# swapon /swapfile

現在,我們將其添加到文件系統分區表裡,這樣重啟之後就自動掛載了。

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

設置swappiness參數為10,這樣交換內存僅作為一個緊急緩衝區用。

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

3. 安裝Discourse

在我們的主機上安裝好Docker後,我們將會安裝Discourse。現在,我們從官方的Discourse GitHub倉庫克隆一份到/var/discourse目錄下。我們需要運行下面的命令完成這一步。

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

克隆好倉庫後,我們給discourse伺服器複製配置文件

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

Cloning Discourse Docker

4. 配置Discourse

接下來,我們用自己喜歡的文本編輯器,編輯容器目錄下的discourse配置文件app.yml

# nano containers/app.yml

現在,我們需要將開發者郵箱地址DISCOURSEDEVELOPEREMAILS修改為自己的,如下。

DISCOURSE_DEVELOPER_EMAILS: 'arun@linoxide.com'

然後,我們設置主機名為伺服器的域名。

DISCOURSE_HOSTNAME: 'discourse.linoxide.com'

接著,設置放在相同的discourse主機或vps上的SMTP伺服器的認證信息。這些SMTP設置用於你的Discourse發送郵件。

DISCOURSE_SMTP_ADDRESS: smtp.linoxide.com
DISCOURSE_SMTP_PORT: 587 # (可選)
DISCOURSE_SMTP_USER_NAME: admin@linoxide.com # (可選)
DISCOURSE_SMTP_PASSWORD: test123 # (可選)

如果你在使用一個1GB的Discourse,設定UNICORNWORKERS為2,dbshared_buffers為128MB,這樣你會有更多的內存空間。

運行Discourse需要強制性地創建一個郵件伺服器。如果你已經有一個伺服器了那就好辦多了,我們可以使用它的認證信息。如果你沒有現成的郵件伺服器,或者你不知道那是什麼。沒關係,可以在Mandrill (或MailgunMailjet)創建一個免費的帳號,然後使用其提供的認證信息。

5. 啟動Discourse應用

配置完discourse的配置文件後,我們當然是想啟動Discourse伺服器。首先,在/var/discourse/目錄下運行下面的命令,載入discourse引導程序。

# ./launcher bootstrap app

Starting Discourse Bootstrap

上述命令可能會花去幾分鐘時間,會自動配置我們的Discourse環境。然後,該進程完成後,我們需要運行下面的命令啟動Discourse App

# ./launcher start app

Starting Discourse

如果一切都正常,我們就能使用慣用的瀏覽器來訪問我們新鮮出爐的 Discourse 的 Web 界面了: http://ip-address/http://discourse.linoxide.com/ 。然後,我們就可以創建一個新賬號並成為管理員。

維護

這裡往下是/var/discourse/目錄里的 launcher 命令的用法,它可以用於我們在Docker 容器裡面控制和維護Disourse。

用法: launcher 命令 配置 [--skip-prereqs]
命令:
start: 啟動/初始化一個容器
stop: 停止一個運行的容器
restart: 重啟一個容器
destroy:停止並刪除一個容器
enter: 使用 nsenter 進入容器
ssh: 在一個運行的容器中啟動一個 bash shell
logs: 容器的 Docker l日誌
mailtest: 在容器中測試郵件設置
bootstrap: 基於配置模版來引導一個容器
rebuild: 重建一個容器(摧毀舊的,初始化,啟動新的)
cleanup: 清理所有停止了24小時以上的容器

選項:
--skip-prereqs 不檢查前置需求
--docker-args 當運行 docker 時,展開並傳入參數

總結

哈哈!我們已經成功使用Docker技術安裝了Discourse。Docker技術使得Discourse十分容易安裝在任何平台,並且包含所有的要求。我們需要自己的郵件伺服器或者郵件伺服器的證書來啟動它。對於便捷的現代郵件列表,論壇來說,Discourse是一個偉大的平台。(最後這句有些彆扭)

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

作者:Arun Pyasi 譯者:wi-cuckoo 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國