This is automatic translation. If you do not like it, switch to English or another language. Thank you for understanding. OK Show original
함유량

커스텀 Redmine Docker 이미지를 만드는 방법

레드 마인은 프로젝트 관리 및 문제 추적을위한 가장 인기있는 도구 중 하나. 시험해 보았거나 프로덕션 환경에 설치해야한다면 아마도 공식 도커 이미지 이는 수요가 많은 환경에 대한 설치 및 확장을 크게 단순화합니다.

커스터마이징 전 레드 마인

나처럼 커스텀 Redmine Docker 이미지를 빌드하는 코드를 직접 보는 것을 선호한다면 github.com/lcofre/redmine Dockerfile을 확인하십시오.

Redmine Docker 이미지는 좋은 시작점이지만 원하는 플러그인과 테마로 사용자 정의하고 싶을 것입니다. 이 방법에서는 공식 이미지를 기반으로 Docker 이미지를 빌드하고 테마와 플러그인을 추가 한 다음 docker 레지스트리에 업로드합니다.

편의상 Redmine 컨테이너 자체에 외부 데이터베이스가 아닌 내부 데이터베이스를 사용합니다. 그러나 프로덕션 환경의 경우 전용 스토리지 컨테이너를 설정하는 것이 좋습니다.

플러그인 및 테마

Redmine에 추가하는 다양한 방법을 설명하기 위해 몇 가지 플러그인과 테마를 선택했습니다.

  • 사이드 바 숨기기더 많은 화면 공간을 허용하는 플러그인, 특히 문제를 작성할 때
  • 클립 보드 붙여 넣기파일을 선택하는 대신 클립 보드에서 붙여 넣기하는 스크린 샷을 첨부하려면
  • A1GitmikeUI의 모양을 변경하는 두 가지 테마

기존 데이터베이스가 필요하므로 데이터베이스 마이그레이션이 필요한 플러그인은 제외합니다. 좋은 아이디어가 있으므로 마이그레이션이 필요한 플러그인을 설치해야하는 경우 아래에 의견을 보내주십시오.

Dockerfile 작성

Dockerfile은 Docker 이미지를 작성하는 방법에 대한 레시피입니다. 여기서 배울 첫 번째 사실은 다른 이미지를 기반으로 이미지를 만들어야한다는 것입니다. 따라서 공식 이미지를 Redmine에 사용합니다.

레드 마인에서

Dockerfile의 첫 번째 줄은 글을 쓰는 시점에서 최신 및 가장 큰 이미지 인 4.1.0을 기반으로하거나 이미지로 표시됩니다. 최신 버전을 사용하므로이 이미지의 빌드를 손상시킬 수있는 예기치 않은 새 버전을 피하기 위해 특정 버전을 사용하는 것이 좋습니다.

레드 마인 : 4.1.0

Git을 사용하여 컴포넌트 가져 오기

대부분의 경우 테마와 플러그인에는 최신 코드를 다운로드 할 수있는 자식 저장소가 있습니다. 다음 세 가지 구성 요소의 경우입니다.

기본 Redmine 이미지는 자식없이 제공되지만이 방법으로 이미지에 추가 할 수 있습니다

런 apt 설치 -y git

이미지가 빌드 될 때 실행되며 다음 지침에서 git을 사용할 수 있습니다.

Gitmike 테마: 리포지를 직접 복제하는 것이 좋습니다.

git git clone 실행 https://github.com/makotokw/redmine-theme-gitmike.git 공개 / 테마 / gitmike

라인은 복제 된 프로젝트를 적절한 폴더 public / themes에 저장합니다

사이드 바 숨기기: 동일한 절차를 플러그인에 적용 할 수 있습니다. 이것은 플러그인 폴더에 복제 된 폴더를 배치하는 것 이상을 요구하지 않습니다.

git git clone 실행 https://gitlab.com/bdemirkir/sidebar_hide.git 플러그인 / sidebar_hide

클립 보드 이미지 붙여 넣기: 이것은 전형적인 절차 인 것처럼 보입니다. 레포를 복제하면 갈 수 있습니다.

git git clone 실행 https://github.com/RubyClickAP/clipboard_image_paste.git 플러그인 / clipboard_image_paste

하지만 네가 조금 더 읽기 "RMagick gem을 설치하는 것이 좋습니다. 그렇지 않으면 첨부 된 이미지가 내 보낸 PDF 파일에 표시되지 않습니다"라는 것을 알 수 있습니다. 그래서 우리는 이것을 어떻게합니까? 그것은 쉬워야한다

젬 설치 rmagick

그러나 gem을 설치하기 전에 gem을 빌드해야한다는 것을 알고 있으므로 gem을 설치하기 전에 일부 패키지를 설치해야합니다. 정말 필요한 줄은

실행 apt 설치 -y 빌드 필수 imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

&& gem 설치 rmagick

가독성을 위해 하나의 명령으로 두 줄로 구분됩니다.

이 플러그인의 원래 작성자는 Redmine 4 버전을 제공하지 않지만 GitHub에서 플러그인 이름을 검색하면 다음과 같은 프로젝트를 수행했습니다. RubyClickAP / clipboard_image_paste.

다운로드 한 소스에서 플러그인 또는 테마 추가

그리고, A1 테마 소스가 있지만 빌드 프로세스 중에 다운로드 할 URL이없는 경우를 설명하는 좋은 예입니다. 이와 같은 경우 하나의 옵션은 건물 프로세스에 소스를 제공하는 것입니다. 그렇게하면 컨텐츠가 이미지를 다운로드하지 않고 이미지에 추가됩니다

복사 a1 공개 / 테마 / a1

이를 위해서는 a1 폴더가 Dockerfile과 같은 위치에 있어야합니다.

이제 이미지를 만들 준비가되었으므로 Dockerfile이있는 터미널을 열고 실행하십시오.

docker build -t my-redmine.

빌드되면 이미지를 실행할 수 있습니다

docker run -it -p 3000 : 3000-이름 내 레드 마인 내 레드 마인

계속해서 http : // localhost : 3000을 열어 커스텀 Redmine을 확인하십시오!

커스터마이징 후 레드 마인

더 많은 플러그인을 추가하기위한 팁

새로운 플러그인을 시험해 보려면 항상 새로운 Redmine 컨테이너를 사용하는 것이 좋습니다. 이것이 rmagick이 일부 패키지를 설치해야한다는 것을 깨달았습니다. 먼저, 다음과 같이 폐기 가능한 Redmine 인스턴스를 실행하십시오

docker run --rm -d -p 3000 : 3000-이름 테스트 레드 마인 레드 마인

그런 다음

docker exec-테스트 레드 마인 bash

여기에서 OS 패키지, gem을 설치하거나 마이그레이션을 실행할 수 있습니다. Dockerfile에 추가 할 수 있도록 단계를 기억하십시오!

Docker Hub에 사용자 지정 이미지 업로드

방금 구축 한 이미지는 로컬 환경에서만 사용할 수 있습니다. 다른 사람이 사용할 수있게하려면 어떻게해야합니까? 물론 Dockerfile 및 관련 파일을 git repo에 업로드 할 수 있으며 관심있는 파일은 이미지를 직접 작성할 수 있습니다. 그러나 Docker를 사용하면 빌드 된 이미지를 레지스트리에 업로드 할 수도 있습니다. 이를 위해 hub.docker.com에 계정을 만들고 이미지의 리포지토리를 만듭니다. 그런 다음 터미널에 다음과 같이 로그인하십시오

도커 로그인

이미지를 태그 지정하여 리포지토리에 업로드 할 수 있습니다

docker tag my-redmine : 최신 lcofre / redmine : 최신

이렇게 밀어 붙여

도커 푸시 lcofre / redmine : 최신

Docker 레지스트리의 Docker 이미지

이제 누구나 수행하여 이미지를 시험해 볼 수 있습니다

docker run -it -p 3000 : 3000 --name my-redmine lcofre / redmine

그게 다야! 표준 Redmine 설치에서 Docker 레지스트리에서 액세스 할 수있는 개인화 된 버전으로 이동하는 방법입니다. 아래에 의견이나 질문을 공유하십시오.

도커 이미지 크기 자르기

당신은 찾을 수 있습니다 저장소의 Dockerfile 여러 줄을 하나로 합쳤습니다. 더 작은 이미지를 만들기위한 Docker 권장 사항입니다. 당신은 그 조언과 다른 사람들을 찾을 수 있습니다 https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

이미지의 최종 크기를 줄이는 또 다른 권장 사항은 알파인 버전의 Redmine을 사용하는 것입니다

레드 마인 : 알파인

알파인은 다른 리눅스 배포판입니다. apt를 사용하여 패키지를 설치하는 대신 apk를 사용해야합니다.

마지막 팁 : Dockerfile에 apt로 설치 한 패키지는 이미지가 작성된 후 더 이상 필요하지 않습니다. 다단계 빌드 사용의 모범 사례를 따를 수 있습니다. https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

작은 크기의 Docker 이미지를 유지하면 인스턴스 수를 늘릴 때 특히 도움이되지만 이미지의 공격 영역이 줄어 듭니다.

저자: 리안드로 코 프레, Lukáš Beňa

추가 정보
무료 시험판

쉬운 Redmine 10 업그레이드
인기 플러그인 및 기능
신규 및 모바일 디자인
서버 업그레이드
글로벌 클라우드

무료 평가판 시작

30 일 무료 평가판에서 Easy Redmine을 사용해보십시오

모든 기능을 갖춘 30 일, SSL로 보호 된 일일 백업, 지리적 위치에서

or