서버에 설치하기 전에 Docker에서 Discourse를 테스트해 볼 수 있나요?

이 도구가 얼마나 빠르게 작동하는지 정말 마음에 듭니다! Discourse를 점점 더 깊이 있게 다루고 있습니다.

다시 한번 감사합니다! @merefield.

수정: Docker 이미지에 대한 단계별 설명을 찾았습니다:

Bitnami Discourse Docker 이미지를 사용하는 권장 방법은 Docker Hub 레지스트리에서 미리 빌드된 이미지를 가져오는 것입니다.

docker pull bitnami/discourse:latest

특정 버전을 사용하려면 버전 태그를 지정하여 가져올 수 있습니다. Docker Hub 레지스트리에서 사용 가능한 버전 목록을 확인할 수 있습니다.

docker pull bitnami/discourse:[TAG]

원하는 경우, 저장소를 클론하고 Dockerfile이 포함된 디렉터리로 이동한 후 docker build 명령을 실행하여 이미지를 직접 빌드할 수도 있습니다. 아래 예제 명령에서 APP, VERSION, OPERATING-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 차트 사용을 강력히 권장합니다.

docker-compose.yaml 파일에서 문제가 발견되면, 기여 가이드라인을 따르며 문제를 보고하거나 수정을 기여할 수 있습니다.

Discourse 문제 해결

콘솔에서 관리자 계정 생성과 같은 Discourse 관리 명령을 실행해야 하는 경우, 컨테이너 내부에서 셸을 실행하고 올바른 환경 변수와 함께 실행하면 됩니다.

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