安装多个实例的小教程 
在本例中,我们将从一个全新的服务器安装开始,然后可能需要恢复一个旧实例。
第 0 步:备份!!!
下载备份。稍后您将需要它。
第 1 步:NGINX 代理管理器
mkdir -p /opt/nginx-proxy-manager
cd /opt/nginx-proxy-manager
nano docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80' # http / reserved!
- '81:81' # web-admin port
- '443:443' # https / reserved!
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
最后运行:docker-compose up -d
(对于像我有时一样懒惰的人,只需使用 casaOS(使用非 80/81/443 端口)。只需确保您使用安全的登录凭据和一个带有 SSL 证书的额外代理主机以增加安全性。如果您知道自己在做什么,甚至可以设置一些防火墙规则。)
第 2 步:在 Ubuntu 服务器上安装 Docker
sudo apt update && apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
第 3 步:Discourse 安装准备
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cp /var/discourse/samples/standalone.yml /var/discourse/containers/app1.yml
nano /var/discourse/containers/app1.yml
cp /var/discourse/samples/standalone.yml /var/discourse/containers/app2.yml
nano /var/discourse/containers/app2.yml
对您的 app.yml 文件进行任何必要的更改。这包括为每个实例公开不同的端口(是的,您甚至可以将其用于维护)、邮件设置等。
例如,app1 使用端口 8080/1443,app2 使用端口 8081/2443 用于 http/https。
/var/discourse/launcher rebuild app1
/var/discourse/launcher rebuild app2
第 4 步:最后但同样重要的是配置 NGINX 代理管理器
观看此视频以基本了解如何使用 NGINX 代理管理器。
您需要做的就是将您的代理主机条目指向每个实例(http 端口,例如 8080 和 8081,使用您的本地或公共 IP,这取决于您),您将能够为每个实例和域获取免费的 Let’s Encrypt 证书。只需确保启用强制 SSL 等。
第 5 步:完成。喝杯咖啡。
在我的情况下,它工作得很完美。
预装的软件依赖项可能存在一些小问题,但我相信您会找到解决方案。不要因为我关于 casaOS 的建议而生气。但对于喜欢摆弄服务器、以易于使用、安全可靠的方式利用所有可用资源的人来说,我相信您会发现这个 Docker 管理很有趣。