在Docker中安裝Discours的教程
大家好,今天我們將會(huì)學(xué)習(xí)如何利用Docker平臺(tái)安裝Discourse。Discourse是一個(gè)完全開(kāi)源的討論平臺(tái),以未來(lái)十年的互聯(lián)網(wǎng)理念設(shè)計(jì),擁有一個(gè)郵件列表,一個(gè)論壇和一個(gè)長(zhǎng)篇聊天室。不管從技術(shù)角度還是社會(huì)學(xué)角度,如今要體驗(yàn)一個(gè)現(xiàn)代的、勃勃生機(jī)的、完全開(kāi)源的互聯(lián)網(wǎng)討論平臺(tái),Discourse都是一個(gè)不錯(cuò)的途徑。Discourse是一個(gè)簡(jiǎn)單、簡(jiǎn)明、簡(jiǎn)易的討論方式。它確實(shí)是一個(gè)令人稱(chēng)贊的平臺(tái),對(duì)于互聯(lián)網(wǎng)上各種各樣的論壇來(lái)說(shuō),提供了一個(gè)上手可用的很酷的服務(wù)。
Docker是一個(gè)開(kāi)源的、可以將任何應(yīng)用以輕量級(jí)容器的方式打包、傳輸和運(yùn)行的開(kāi)放平臺(tái)。Docker容器技術(shù)使得可以更加方便和容易構(gòu)建Discourse。
所以,下面是一些快速且容易的步驟,用來(lái)在一個(gè)Docker環(huán)境里面安裝Discourse。
1. 安裝Docker
首先,我們需要確認(rèn)我們的主機(jī)操作系統(tǒng)已經(jīng)安裝了Docker。我們需要在shell或者終端運(yùn)行以下命令安裝Docker。
在Ubuntu上
docker安裝包在Ubuntu的倉(cāng)庫(kù)里面是可用的,所以我們將會(huì)使用apt管理器安裝,以sudo或者root模式
在CentOS 7上
在CentOS 7的主機(jī)上,我們使用yum管理器安裝docker,因?yàn)镃entOS的倉(cāng)庫(kù)里同樣有docker安裝包
2. 設(shè)定交換內(nèi)存
如果你的RAM容量小于1GB,那么確保升級(jí)你的系統(tǒng)達(dá)到1GB或者以上,Discourse不能在512MB的RAM下安裝。如果你現(xiàn)在準(zhǔn)備好了安裝Discourse,根據(jù)下面的步驟為你的VPS(Virtual Private Servers)或者服務(wù)器設(shè)定交換內(nèi)存:
運(yùn)行下面的命令,創(chuàng)建一個(gè)空的交換文件。
如果你想你的交換內(nèi)存達(dá)到1GB,那么執(zhí)行下面的步驟,并且跳過(guò)接下來(lái)的第二步。
如果你想達(dá)到2GB,跳過(guò)上一步,跟著下面做
接著,我們指定交換內(nèi)存為swapfile
運(yùn)行下面的命令激活交換內(nèi)存
現(xiàn)在,我們將其添加到文件系統(tǒng)分區(qū)表里,這樣重啟之后就自動(dòng)掛載了。
設(shè)置swappiness參數(shù)為10,這樣交換內(nèi)存僅作為一個(gè)緊急緩沖區(qū)用。
# echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
3. 安裝Discourse
在我們的主機(jī)上安裝好Docker后,我們將會(huì)安裝Discourse。現(xiàn)在,我們從官方的Discourse GitHub倉(cāng)庫(kù)克隆一份到/var/discourse目錄下。我們需要運(yùn)行下面的命令完成這一步。
# cd /var/discourse/
# git clone https://github.com/discourse/discourse_docker.git /var/discourse/
克隆好倉(cāng)庫(kù)后,我們給discourse服務(wù)器復(fù)制配置文件
4. 配置Discourse
接下來(lái),我們用自己喜歡的文本編輯器,編輯容器目錄下的discourse配置文件app.yml
現(xiàn)在,我們需要將開(kāi)發(fā)者郵箱地址DISCOURSEDEVELOPEREMAILS修改為自己的,如下。
然后,我們?cè)O(shè)置主機(jī)名為服務(wù)器的域名。
接著,設(shè)置放在相同的discourse主機(jī)或vps上的SMTP服務(wù)器的認(rèn)證信息。這些SMTP設(shè)置用于你的Discourse發(fā)送郵件。
DISCOURSE_SMTP_PORT: 587 # (可選)
DISCOURSE_SMTP_USER_NAME: admin@linoxide.com # (可選)
DISCOURSE_SMTP_PASSWORD: test123 # (可選)
如果你在使用一個(gè)1GB的Discourse,設(shè)定UNICORNWORKERS為2,dbshared_buffers為128MB,這樣你會(huì)有更多的內(nèi)存空間。
運(yùn)行Discourse需要強(qiáng)制性地創(chuàng)建一個(gè)郵件服務(wù)器。如果你已經(jīng)有一個(gè)服務(wù)器了那就好辦多了,我們可以使用它的認(rèn)證信息。如果你沒(méi)有現(xiàn)成的郵件服務(wù)器,或者你不知道那是什么。沒(méi)關(guān)系,可以在Mandrill (或Mailgun和 Mailjet)創(chuàng)建一個(gè)免費(fèi)的帳號(hào),然后使用其提供的認(rèn)證信息。
5. 啟動(dòng)Discourse應(yīng)用
配置完discourse的配置文件后,我們當(dāng)然是想啟動(dòng)Discourse服務(wù)器。首先,在/var/discourse/目錄下運(yùn)行下面的命令,加載discourse引導(dǎo)程序。
上述命令可能會(huì)花去幾分鐘時(shí)間,會(huì)自動(dòng)配置我們的Discourse環(huán)境。然后,該進(jìn)程完成后,我們需要運(yùn)行下面的命令啟動(dòng)Discourse App
如果一切都正常,我們就能使用慣用的瀏覽器來(lái)訪(fǎng)問(wèn)我們新鮮出爐的 Discourse 的 Web 界面了: http://ip-address/ 或 http://discourse.linoxide.com/ 。然后,我們就可以創(chuàng)建一個(gè)新賬號(hào)并成為管理員。

維護(hù)
這里往下是/var/discourse/目錄里的 launcher 命令的用法,它可以用于我們?cè)贒ocker 容器里面控制和維護(hù)Disourse。
用法: launcher 命令 配置 [--skip-prereqs]
命令:
start: 啟動(dòng)/初始化一個(gè)容器
stop: 停止一個(gè)運(yùn)行的容器
restart: 重啟一個(gè)容器
destroy:停止并刪除一個(gè)容器
enter: 使用 nsenter 進(jìn)入容器
ssh: 在一個(gè)運(yùn)行的容器中啟動(dòng)一個(gè) bash shell
logs: 容器的 Docker l日志
mailtest: 在容器中測(cè)試郵件設(shè)置
bootstrap: 基于配置模版來(lái)引導(dǎo)一個(gè)容器
rebuild: 重建一個(gè)容器(摧毀舊的,初始化,啟動(dòng)新的)
cleanup: 清理所有停止了24小時(shí)以上的容器
選項(xiàng):
--skip-prereqs 不檢查前置需求
--docker-args 當(dāng)運(yùn)行 docker 時(shí),展開(kāi)并傳入?yún)?shù)
總結(jié)
哈哈!我們已經(jīng)成功使用Docker技術(shù)安裝了Discourse。Docker技術(shù)使得Discourse十分容易安裝在任何平臺(tái),并且包含所有的要求。我們需要自己的郵件服務(wù)器或者郵件服務(wù)器的證書(shū)來(lái)啟動(dòng)它。對(duì)于便捷的現(xiàn)代郵件列表,論壇來(lái)說(shuō),Discourse是一個(gè)偉大的平臺(tái)。(最后這句有些別扭)
相關(guān)文章

推出跨端全天候智能助手Uclaw! 統(tǒng)信UOS桌面操作系統(tǒng)V25發(fā)布
4月15日,統(tǒng)信軟件正式發(fā)布統(tǒng)信桌面操作系統(tǒng)V25,作為國(guó)產(chǎn)操作系統(tǒng)里程碑式版本,該版本在智能化、高效性、可靠性三大維度實(shí)現(xiàn)系統(tǒng)性突破,標(biāo)志著國(guó)產(chǎn)操作系統(tǒng)從“可用”全2026-04-16
哪個(gè)系統(tǒng)誰(shuí)最懂你? 2026全球十大操作系統(tǒng)排行榜
根據(jù)最新Statcounter、Statista等權(quán)威數(shù)據(jù)統(tǒng)計(jì),全球操作系統(tǒng)市場(chǎng)份額發(fā)生了微妙變化,下面我們就來(lái)看看2026全球十大操作系統(tǒng)排行榜2026-04-08
輕松玩轉(zhuǎn)虛擬機(jī)套娃! 在Hyper-V中開(kāi)啟嵌套虛擬化的技巧
有辦法在虛擬機(jī)中創(chuàng)建虛擬機(jī)嗎?答案是肯定的,在虛擬機(jī)中運(yùn)行虛擬機(jī)是可能的,我們將其稱(chēng)為嵌套虛擬化,下面我們就來(lái)看看詳細(xì)操作方法2025-02-19
龍蜥操作系統(tǒng)Anolis OS-23.x安裝配置圖解教程(保姆級(jí))
本文主要介紹了安裝和配置AnolisOS 23.2系統(tǒng),包括分區(qū)、軟件選擇、設(shè)置root密碼、網(wǎng)絡(luò)配置、主機(jī)名設(shè)置和禁用SELinux的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-20
VMware虛擬機(jī)怎么復(fù)制/克隆/導(dǎo)出VMDK文件?
在處理文件拷貝復(fù)制到VMware虛擬機(jī)中的任務(wù)時(shí),有多種方法可以實(shí)現(xiàn)文件的高效傳輸,使用這些方法,可以在不同的操作系統(tǒng)和環(huán)境下,實(shí)現(xiàn)文件的快速、安全遷移,詳細(xì)請(qǐng)看下文2024-09-24
統(tǒng)信 UOS V20 桌面專(zhuān)業(yè)版更新發(fā)布:附更新內(nèi)容匯總
統(tǒng)信 UOS V20 桌面專(zhuān)業(yè)版(1070u1)正式發(fā)布,支持微信掃碼登錄、應(yīng)用窗口縮略圖,海量功能修復(fù),詳細(xì)請(qǐng)看下文介紹2024-08-08
怎么看自己IP地址? 不同的操作系統(tǒng)中查看路由器的IP地址的方法
在互聯(lián)網(wǎng)上進(jìn)行網(wǎng)絡(luò)連接,每個(gè)設(shè)備都有一個(gè)唯一的標(biāo)識(shí),即IP地址,本文介紹了如何在不同平臺(tái)上查找路由器的IP地址,包括Windows、Mac、iPhone、iPad、Android、Chrome OS和2024-07-16
mware虛擬機(jī)運(yùn)行速度卡慢原因分析及解決辦法
很多人在使用虛擬機(jī)系統(tǒng)的時(shí)候,經(jīng)常對(duì)虛擬機(jī)的運(yùn)行速度不甚滿(mǎn)意,甚至經(jīng)常很惱火,虛擬機(jī)速度慢有很多原因,每個(gè)人需要根據(jù)自己的情況具體分析,本文根據(jù)筆者的使用經(jīng)驗(yàn)將2024-02-21
Vmware虛擬機(jī)如何與主機(jī)之間直接復(fù)制粘貼文件?
使用虛擬機(jī)的時(shí)候,遇到了錯(cuò)誤,想要把錯(cuò)誤的代碼或是運(yùn)行情況復(fù)制粘貼到Windows的網(wǎng)上論壇區(qū)求助大神,該怎么操作呢?詳細(xì)請(qǐng)看下文介紹2024-02-21
統(tǒng)信UOS V20桌面專(zhuān)業(yè)版(1060)11月更新發(fā)布(附更新內(nèi)容匯總)
國(guó)產(chǎn)桌面操作系統(tǒng)統(tǒng)信 UOS V20 專(zhuān)業(yè)版(1060)11月更新發(fā)布,這是統(tǒng)信 UOS V20 專(zhuān)業(yè)版(1060)2023 年度最后一次更新,下面我們就來(lái)看看詳細(xì)的更新內(nèi)容2023-12-01










