jhipster는 docker를 통해 개발과 배포에 있어서 편리함을 제공한다.
docker를 이용하면?
- 배포 환경과 동일한 환경에서 개발이 가능하다.
- 인프라 확장이 용이하다. (docker-compose scale)
1. 환경
jhipster가 제공하는 도커 환경을 이용하기 위해 도커와 도커 컴포즈 설치가 선행되어야 한다.
- docker(https://docs.docker.com/get-docker/)
- docker compose(https://docs.docker.com/compose/install/)
2. 도커 이미지 만들기
java애플리케이션을 도커 이미지로 만들기 위해 Jib(https://github.com/GoogleContainerTools/jib) 라이브러리를 이용한다.
2.1 로컬에 설치된 도커데몬을 이용
- With Maven, type: ./mvnw package -Pprod verify jib:dockerBuild
- With Gradle, type: ./gradlew -Pprod bootJar jibDockerBuild
2.2 로컬에 도커 설치 없이 빌드 후 도커 레지스트리 배포
- With Maven, type: ./mvnw package -Pprod verify jib:build
- With Gradle, type:./gradlew -Pprod bootJar jib
2.3 오프라인 환경에서 이용
jib은 docker registry에서 최신 버전의 이미지를 받아오는게 우선적이므로, 인터넷이 불가능한 환경이라면 아래와 같이 이용.
(cache에 저장된 이미지를 사용 )With Maven, type : ./mvnw -Pprod package verify jib:dockerBuild --offlineWith
Gradle, type : ./gradlew -Pprod bootJar jibDockerBuild --offline
2.4 기타
docker-compose -f src/main/docker/app.yml up 시 기타 필요한 환경 컨테이너를 함께 띄운다.
만약, 각각의 따로 띄우거나 컨트롤 하고 싶다면 src/main/docker의 *.yml 파일을 참조하여 이용하면 된다.
- PostgreSQL : docker-compose -f src/main/docker/postgresql.yml up,
- Elasticsearch : docker-compose -f src/main/docker/elasticsearch.yml up
- Sonar : docker-compose -f src/main/docker/sonar.yml up
3. 도커이미지 띄우기
2.번에서 빌드한 도커 이미지를 가동시키기 위한 cmd
- docker-compose -f src/main/docker/app.yml up
(db, search engine, registry 등 연관 이미지를 함께 가동시킴) - 도커 *.yml 위치 : src/main/docker
4. 도커 커맨드
- 모든 컨테이너 확인
- docker container ps -a - 컨테이너 상태 확인(cpu, menory등의 관련 정보)
- docker container stats - 컨테이너 스케일 조정
- docker-compose scale test-app=4("test"어플리케이션의 인스턴스를 4개로 조정) - 컨테이너 멈추기
- docker-compose -f src/main/docker/app.yml stop
- docker container stop <container_id> - 컨테이너 삭제**
- docker container rm <container_id>**
'공식메뉴얼 > jhipster' 카테고리의 다른 글
컨트롤러, 서비스 생성하기 ( Creating a Spring controller, service) (0) | 2020.05.09 |
---|---|
엔티티 만들기(Creating an entity) (0) | 2020.05.09 |
Command-line options (0) | 2020.05.09 |
어플리케이션 만들기 ( Creating an application) (0) | 2020.05.09 |
환경 설정 - 설치 (Installing JHipster) (0) | 2020.05.09 |