如何使用 Windows 10 Docker Desktop 安装 Discourse?

我已经完成了使用 WSL 并下载了 Ubuntu 20.04.4 LTS 的步骤。
然后按照
-https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md
进行设置时,我收到了一个提示,建议我使用

检测到 WSL:我们建议使用 Docker Desktop for Windows。
请从 https://www.docker.com/products/docker-desktop 获取 Docker Desktop

问题是;我已经安装了 Docker Desktop。但我没有找到可以安装 Discourse 生产环境的教程。我不想让我的电子邮件被捕获,并且我已经在一个免费的 Oracle 实例上运行 Discourse,电子邮件已设置好,知道如何使用 app.yml 安装插件。
我想尽快从那里迁移,因为构建速度太慢了,而且我希望获得比论坛在仅仅点击备份时就冻结更好的体验。

我应该如何在 Windows 10 上的 Docker Desktop 中将 Discourse 安装到容器中?我应该忽略这个 WSL 警告并继续吗?

我不知道是否应该使用
bitnami/discourse

https://hub.docker.com/r/bitnami/discourse

因为尝试使用 discourse/base

https://hub.docker.com/r/discourse/base
docker pull discourse/base
结果是

PS C:\Users\localuser> docker pull discourse/base
使用默认标签:latest
错误响应来自守护进程:manifest for discourse/base:latest not found: manifest unknown: manifest unknown

简而言之,我应该使用什么设置说明来在 Windows 10 21h1 上使用 Docker Desktop 进行生产?

如果你想要一个生产环境,你需要使用 Ubuntu(或者至少是某种 Linux)。Windows 不支持生产环境。

你的目的是什么?是有一个可以在电脑外访问的论坛,还是只是在本地安装上尝试一些东西?

我每天都在 Windows 10 上的 WSL 通过 Ubuntu 上的一个“生产”论坛进行实验。该论坛无法从互联网访问,我只在本地使用它。我刚刚在 Windows 中配置了一些文件,以便可以通过我的 Windows 浏览器访问该论坛。

我只是想在本地机器上运行 discourse 网站,而不使用开发模式设置。我只是想看看是否有关于如何使用 docker desktop 进行设置的说明,因为在设置 WSL Ubuntu 24.04.4 时,云安装说明告诉我这样做。

我计划只使用 Cloudflare tunnel 并启用 app.yml 中的模板。

是使用 docker desktop 更好,还是我应该忽略警告,等待 +sleep 20,然后仍然在 WSL 上安装?

对于我的配置,其中论坛无法从 Internet 访问,但可以从我自己的计算机访问),我忽略了警告。

但是,我需要一个域名从我的 Windows 浏览器解析,所以我需要执行以下步骤:

  1. 通过编辑 c:/windows/system32/drivers/etc/hosts 将任意域名(此处为 d.com)重定向到我的计算机。我添加了以下行:

    127.0.0.1         d.com
    255.255.255.255   broadcasthost
    ::1               localhost d.com
    
  2. 创建一个新文件:C:\\Users\\yourWindowsUserName\\.wslconfig 并在其中写入:

    [wsl2]
    localhostForwarding=true
    
  3. 重启 WSL:
    wsl --shutdown (Powershell)

    wsl.exe --shutdown (Ubuntu)

  4. 在 Ubuntu 中,启动 Docker(它不会自动启动):
    service docker start

  5. 注释掉 /var/discourse/container/app.yml 中的 SSL 行,例如:

    #  - "templates/web.ssl.template.yml"
    #  - "templates/web.letsencrypt.ssl.template.yml"
    
  6. 重新构建