サーバーをテストするだけで、DockerにDiscourseをインストールしようとしていますか?

こんにちは。

DiscourseソフトウェアのDockerコンテナをテストしようとしています。PostgreSQLがバンドルされており、すべてのデータベースが設定済みですぐに使用できると聞いたからです。Dockerの bitnami:discourse:latest を使用しています…ターミナルに次のような表示が出ています。

1. [Containers](app://dd/dashboard/containers)
2. /
3. tester

### tester

[bitnami/discourse:latest](app://dd/dashboard/images/local/details?imageId=sha256%3Aad71ab26c224ab1d50f4f57ec5ddbc7a549ff331f3cf442860307358d59f79d5&nameHint=bitnami%2Fdiscourse%3Alatest&nameHintType=image-identity)

440:3000

**STATUS**

Exited (1) (0 seconds ago)

LogsInspectBind mountsExecStats

2025-05-16 15:43:26

discourse 19:43:26.78 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Welcome to the Bitnami discourse container

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Subscribe to project updates by watching [https://github.com/bitnami/containers⁠](https://github.com/bitnami/containers)

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See [https://www.arrow.com/globalecs/na/vendors/bitnami/⁠](https://www.arrow.com/globalecs/na/vendors/bitnami/) for more information.

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.80 INFO ==> Validating settings in POSTGRESQL_CLIENT_* env vars

2025-05-16 15:43:26

discourse 19:43:26.85 WARN ==> Hostname postgresql could not be resolved, this could lead to connection issues

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> Hostname redis could not be resolved, this could lead to connection issues

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> The DISCOURSE_DATABASE_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments.

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> The DISCOURSE_REDIS_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments.

2025-05-16 15:43:26

discourse 19:43:26.86 INFO ==> Creating Discourse configuration file

2025-05-16 15:43:26

discourse 19:43:26.90 INFO ==> Ensuring Discourse directories exist

2025-05-16 15:43:26

discourse 19:43:26.91 INFO ==> Trying to connect to the database server

2025-05-16 15:44:27

discourse 19:44:27.12 ERROR ==> Could not connect to the database

データベースは初回実行時に設定されると思っていたのですが、どうすればよいかご存知の方はいらっしゃいますか?また、これを理解するためのGitbookやガイドのようなものはありますか?サードパーティ製であり、直接マシンにインストールされるべきだと認識していますが、Debianのような空のOSからDockerコンテナで動作するのでしょうか?

正直なところ、ソフトウェアのバックエンドを完全に確認したいだけで、その後コンテナは削除するつもりです。そのため、すぐに起動できるものを探しています。

Dockerを使用する最善の方法は何でしょうか?

ターミナルから実行すると、この画面で止まってしまい、Discourseのスクリプトが見つかりません。実際、bin の下のフォルダはすべて空です。

alex@PollockFarm Scripts % docker run -ti --rm bitnami/discourse /bin/bash

discourse 19:43:37.88 INFO ==>

discourse 19:43:37.88 INFO ==> **Welcome to the Bitnami discourse container**

discourse 19:43:37.88 INFO ==> Subscribe to project updates by watching **https://github.com/bitnami/containers**

discourse 19:43:37.89 INFO ==> Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami/ for more information.

discourse 19:43:37.89 INFO ==>

よろしくお願いします。

Alex

ここではBitnamiのサポートは提供していません。フォーラムをご利用ください。

こちらでサポートが必要な場合は、標準インストールをご利用ください。

「いいね!」 2

おっと、早速のご返信ありがとうございます @merefield 。フォーラムへの直接リンクや、これらの問題を伝達するために使用しているものを教えていただけますか?

それで、

ベアメタルでこれを実行するのが最善の方法ですか?Dockerと基本的なDebianビルドを使用して、必要なすべてのパッケージをインストールできますか?テスト目的でのみ使用したいので、すぐに削除できるようにしたいです。

「いいね!」 1

投稿にリンクを貼りました :slight_smile:

「いいね!」 1

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管理コマンドを実行する必要がある場合は、コンテナ内でシェルを実行し、適切な環境変数で実行できます。

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create
「いいね!」 2

@alex.diker さん、Metaへようこそ :slight_smile:

「いいね!」 1

推奨される方法は、インストール手順に従い、PostgresとRedisのテンプレートを削除し、env変数にデータベース設定を追加することです。

2つのコンテナセットアップ(discourse-setupにスイッチを追加することで取得できます)は、env変数を取得する方法を理解する簡単な方法です。

Bitnamiに対する利点は、ここでヘルプを得て、標準的な手順に従ってプラグインをインストールできることです。