JIRA에게 Docker로 보여줬어요.

7298 단어 Dockerjira

개시하다


Docker를 계속 학습합니다.
간단한 셸을 시작하게 해서 동작을 확인하는 곳에서 멈추었습니다. 가능하면 프로그램을 시작하고 싶습니다.
그래서 index.docker.나는 IO에서 본 것을 보기로 결정했다.
이번에는atlassian/jira라는 인상이 있어서 주목합니다.
평소 리무디네를 사용하지만 "간단하게 시동을 걸 수 있다면..."그래서 한번 해보기로 했어요.
※ 부기: 잘 되지 않을 때 대응하는 방법이 엔딩에 게재되어 있습니다.

하고 싶은 일


하고 싶은 일
  • index.docker.IO에게서 atlassian/jira의 인상을 얻고 추가합니다.
  • docker를 통해 상기 그림을 시작합니다.
  • 외부에서 시작된 JIRA에 액세스하여 웹 응용 프로그램을 설정합니다.
  • 하지 않는 일
  • 1부터 JIRA를 설정합니다.
  • Chef의 기타 사전 설정 스크립트는 자체 제작되지 않습니다.
  • 먼저 제공된 이미지를 사용하고 잘 시작하고 시작한 후에 이 이미지가 어떻게 만들어졌는지 풀어낸다.
  • 이미지 가져오기/등록

  • https://index.docker.io/u/atlassian/jira/
  • Docker file도 함께 게재되기 때문에 어떤 절차로 설치되었는지 잘 알고 있습니다.
    상세한 구축 절차를 더욱 깊이 파고들고 싶은 사람은'참고 사이트/관련 사이트'를 이용하세요.

    시작 스크립트 실행


    다음은 Vagrant의 Docker에서 시작하는 Ubuntu의 작업입니다.
  • 전제: Vagrant의 OS는private network에서 IP를 할당합니다.
  • 이번에는 192.168.331.15의 IP 주소가 할당되었습니다.
  • 영상의 취득에 관해서는 네트워크 상황 등으로 인해 순조롭지 못한 경우도 있으니 주의하세요.
    bash
    #イメージを取得
    vagrant@precise64:~$ docker -D pull atlassian/jira  
    
    # 8080番ポートをdocker側の80番に割り当て
    vagrant@precise64:~/work$ docker run -d -p 80:8080 atlassian/jira /init.sh -D
    
  • -p 옵션은 도커의 용기 8080호를 도커의 호스트 Ubuntu의 80호에 비칩니다.(docker 호스트 사이드 포트: 컨테이너 사이드 포트 순서)
  • Vagrant 호스트의 MacOS에서 Ubuntu를 참조할 수 있습니다.
  • ※ -p 옵션을 통해 호스트 측 포트를 지정하지 않으면 포트가 동적으로 분배됩니다.이 경우 docker ps로 번호를 확인할 수 있습니다.

    시작 화면


    시작 스크립트를 실행한 후


    다음은 시작 후 MacOS 측면의 브라우저에서 볼 수 있는 것입니다.
    왼쪽은 attach를 통해 JIRA 부트 정보를 표시하는 터미널입니다.
    ※ 맥스 측에 표시된 URL은 192.168.333.15:49757.이것은 -p를 사용하지 않고 고정 포트에 비추는 예입니다. -p80:8080이면 192.168.333.15:80에 방문할 수 있습니다.
    디버그 모드로 작동하기 때문에 Tomcat의 컨트롤러 로그도 조망할 수 있습니다.

    다음에 데이터베이스를 지정합니다.
  • '끼워넣기'(Built in) 상황에서 ON 메모리의 DB를 사용한 것처럼 시연했다.
  • My Own Database의 경우 docker 이미지와 함께 추가된 PostgreSQL을 지정합니다.
  • 계정, 비밀번호웹 페이지 제목에 기재된 비밀번호를 사용했지만 사용자 이름/DB는postgres의 연결 테스트를 통과했다.

  • 라이센스 취득 및 설치 완료 후


    다음은 설치를 추진하고 사용할 수 있는 단계의 화면이다.
    위 시작 화면 이후 DB 연결 설정, Atlassian 연결 라이센스 활성화 등에 대한 처리가 시작됩니다.(JIRA의 라이선스 확인 화면이 나왔다. "MyAtlassian 계정이 없으면 만들어라!"정보)
    다행히 호스트 OS를 통해 Docker의 컨테이너 내 JIRA 작업환경도 인터넷에서 작동할 수 있어 뒷면에서 활성화돼 사용할 수 있게 됐다.

    ※ 이 URL도 192.168.33.15:449164이며, -p80:80이면 역시 192.168.33.15:80으로 액세스할 수 있습니다.
    atlassian/jira의 인상으로 완성된 것은 설치가 시작되기 전입니다.
    시작 허가증, 설치가 끝난 후 용기의 상태 배치를 제출합니다!
    (잊어버리면 매번 허가증을 설정해야 한다)

    attach를 통해 Tomcat 로그 확인


    부팅된 용기의 과정에서attach의 경우 다음과 같다.
    # docker ps でCONTAINER IDを調べます
    vagrant@precise64:~$ docker ps
    CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                            NAMES
    6cfaae1e3fe1        atlassian/jira:latest   /init.sh -D         8 seconds ago       Up 7 seconds        0.0.0.0:80->8080/tcp, 5432/tcp   suspicious_pike 
    
    # 上記で得られたCONTAINER IDを指定してattachします
    vagrant@precise64:~$ docker attach -sig-proxy=false 6cfaae1e3fe1
    
    # うまく行くと、Web側の画面の遷移させるたびに、tomcatのログが流れます  
    Feb 23, 2014 2:58:56 AM org.apache.jasper.compiler.TldLocationsCache tldScanJar
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.  
    ……
    
    
  • -sig-proxy = 가짜를 지정하면 시작하는 용기를 멈추지 않고 Ctrl-C로 터치할 수 있습니다.
  • 확인/인상은 어떻게 형성되었습니까?


    상술한 처리는 index다.docker.IO에서 가져와 JIRA 시작 스크립트만 실행했습니다.
    참고로 이 인상은 기본적인 Ubuntu에 Chef를 설치한 다음에 Chef와 스크립트를 병용하여 Postgresql,java,tomocat,JIRA의 설정을 하는 것이다.
    또한, docker이기 때문에 중도 단계(예를 들어 PostgreSQL을 설치할 때)로 되돌아갈 수 있습니다.도커 히스토리를 바라보면 그 스케줄이 보인다.
    대단하군..

    이번 총결산


    자세히 쫓아다니진 않았지만
  • 외부에서 시작된 JIRA에 액세스하여 웹 응용 프로그램을 설정합니다.
  • 알았어. 할 수 있어.
    환경이 바로 제작/재현될 수 있기 때문에 예를 들어 API를 사용하는 프로그램 테스트를 시작할 때 시작하는 것이 매우 편리할 것 같다.

    보충: 환경 정보

  • 작업기: MacOS/VirtualBox &Vagrant
  • Docker 호스트용 환경

  • 이용https://github.com/dotcloud/docker.
  • vagrant up에서 docker가 설치된 Ubuntu를 기반으로 합니다.
  • MacOS 측의 접근을 편리하게 하기 위해 192.168.331.15의 IP 주소를 분배하였다.
    Vagrant::Config.run do |config|
      # Setup virtual machine box. This VM configuration code is always executed.
      config.vm.box = BOX_NAME
      config.vm.box_url = BOX_URI
    
      #ここでprivate ip割り当てをしています。:hodtonly で指定。
      #config.vm.network "private_network", ip: "192.168.33.15"
      config.vm.network :hostonly, "192.168.33.15"
    
      # Use the specified private key path if it is specified and not empty.
      if SSH_PRIVKEY_PATH
          config.ssh.private_key_path = SSH_PRIVKEY_PATH
      end
    
      config.ssh.forward_agent = true
    end
    
    

    보충: 참조 사이트/관련 사이트


  • Docker로 자바 응용 프로그램을 설계합니다.대단해!(Atlassian Blog/일본어 번역)
  • Deploy Java Apps With Docker = Awesome 상기 오리지널 문장

  • Docker all the things at Atlassian: automation and wiring (Atlassian Blog)
  • 에 이번에 사용된 이미지 기초 프로그램이 기록되어 있습니다.
  • 에는 설치 스크립트를 사용하여 하나의 명령으로 구성하는 방법과 PostgreSQL 설정부터 순서대로 docker 명령을 실시하여commiit를 하는 방법이 함께 기재되어 있다.
  • 보충: 원활한 부팅이 불가능/오류 발생 시


    설치가 끝난 후 제출하고 docker run 명령으로 다시 시작하면 오류가 발생하기 때문에 기록을 추가합니다.

    플러그인 오류

  • setenv.sh에 다음 내용 추가
  • -Datlassian.plugins.enable.wait=300
  • Ref. The Gadget Dashboard bundled plugin is not available Error When Accesing JIRA
  • init.sh 종료 시

  • rm -fr/opt/atlassian/jira/work/catalina.pid
  • rm -rf/opt/atlassian/jira-home/.jira-home.lock
  • rm -rf/opt/atlassian/jira-home/.osgi-plugins
  • Ref. Troubleshooting JIRA Startup Failed Error
  • 좋은 웹페이지 즐겨찾기