在服务器之前用 Docker 测试软件时,试图安装 Discourse 吗?

喜欢它的工作速度!我真的很喜欢 Discourse。

再次感谢!@merefield

编辑:找到了 Docker 镜像的逐步说明:

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

获取 Bitnami Discourse Docker 镜像的推荐方法是从 Docker Hub Registry 拉取预构建的镜像。

docker pull bitnami/discourse:latest

要使用特定版本,您可以拉取带版本标签的镜像。您可以在 Docker Hub Registry 中查看 可用版本列表

docker pull bitnami/discourse:[TAG]

如果您愿意,也可以通过克隆存储库、进入包含 Dockerfile 的目录并执行 docker build 命令来自己构建镜像。请记住在下面的示例命令中用正确的值替换 APPVERSIONOPERATING-SYSTEM 路径占位符。

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

如何使用此镜像

Discourse 需要访问 PostgreSQL 数据库来存储信息。我们将使用 Bitnami PostgreSQL Docker 镜像⁠ 来满足数据库需求。

使用 Docker 命令行

步骤 1:创建网络

docker network create discourse-network

步骤 2:创建用于 PostgreSQL 持久化的卷并创建 PostgreSQL 容器

$ docker volume create --name postgresql_data
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_discourse \
  --env POSTGRESQL_PASSWORD=bitnami123 \
  --env POSTGRESQL_DATABASE=bitnami_discourse \
  --network discourse-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

步骤 3:创建用于 Redis 持久化的卷并创建 Redis 容器

$ docker volume create --name redis_data
docker run -d --name redis \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --network discourse-network \
  --volume redis_data:/bitnami/redis \
  bitnami/redis:latest

步骤 4:创建用于 Discourse 持久化的卷并启动容器

$ docker volume create --name discourse_data
docker run -d --name discourse \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env DISCOURSE_DATABASE_USER=bn_discourse \
  --env DISCOURSE_DATABASE_PASSWORD=bitnami123 \
  --env DISCOURSE_DATABASE_NAME=bitnami_discourse \
  --env DISCOURSE_HOST=www.example.com \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest

步骤 5:启动 Sidekiq 容器

docker run -d --name sidekiq \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh

http://your-ip/ 访问您的应用程序

使用 Docker Compose 运行应用程序
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml
docker-compose up -d

请注意,此文件未经内部测试。因此,我们建议仅将其用于开发或测试目的。对于生产就绪的部署,我们强烈建议使用其关联的 Bitnami Helm Chart⁠

如果您在 docker-compose.yaml 文件中发现任何问题,请随时报告或通过遵循我们的 贡献指南⁠ 进行修复。

Discourse 故障排除

如果您需要运行 Discourse 管理命令,例如 从控制台创建管理员帐户⁠,您可以通过在容器内执行 shell 并使用正确的环境变量来完成。

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create
2 个赞