CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·AI당 ·이륜차당 ·안드로메당 ·콘솔한당 ·소시당 ·키보드당 ·PC튜닝한당 ·테니스친당 ·육아당 ·갖고다닌당 ·소셜게임한당 ·노젓는당 ·골프당 ·위스키당 ·VR당 ·창업한당 ·나혼자산당 ·나스당 ·바다건너당 ·클다방 ·IoT당 ·어학당 ·여행을떠난당 ·디아블로당 ·라즈베리파이당 ·달린당 ·냐옹이당 ·레고당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·가상화폐당 ·시계찬당 ·WebOs당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

개발한당

질문 로컬 자바 개발환경에 도커를 도입하면 어떤 이득이 있을까요? 7

2023-10-30 16:46:07 1.♡.135.18
수지대왕

말 그대로 로컬(태스트서버가 아닌) 자바 개발환경에 도커를 도입하면 어떤 이득이 있을까요?

사실 서버에서 직접 컴파일하는 개발환경 혹은 서버 의존성이 높은 리눅스관련 개발환경이 아닌 이상이야

구지 로컬개발환경에서 도커를 사용해야 하는 이유가 있나 싶습니다.

자바는 말그대로 JVM에 중간에서 처리해줘서 자바 버전만 맞추고 

Maven이나 Gradle를 통해 러이브러리를 관리하면 문제 없을거 같은데

(당연히 서버는 )

로컬개발머신에서 자바+도커 개발환경을 갖추신분들의 의견은 어떠신가요?


참고로 저는 맥북에서 intellij + 스프링 으로 개발중입니다.


 

수지대왕 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [7]
FW
IP 126.♡.30.92
10-30 2023-10-30 16:58:54
·
Java도 OS특성상 코드가 달라지는 부분이 있기때문에 만약 서버환경과 작업 환경이 다르시다면, 로컬과 서버 환경을 거의 99%프로 동일하게 가져가실수 있습니다.
dante2k
IP 115.♡.101.193
10-30 2023-10-30 22:06:02
·
어플리케이션에 필요한 각종 인프라는 어떻게 연결, 테스트하시나요? 개발, 운영환경에 붙어서 진행하시나요?
다른 개발자가 해당 리소스를 점유하면 기다리시나요?
개발자가 바뀔 때마다 개발환경은 어떻게 세팅해주시나요? 일일이 말로 설명하나요?
빌드 환경에 격리가 필요한가요?
도커 이미지로 빌드하여 SaaS 서비스를 하고 싶으신가요?
위 문제에 대한 답은 도커입니다.
훔훔
IP 68.♡.75.83
10-30 2023-10-30 23:08:37 / 수정일: 2023-10-30 23:09:27
·
더 비싼 랩탑을 사달라고 할수 있습니다!
(여러 사람들의 개발 환경을 통일하는데 유용하긴 합니다.)
zr
IP 132.♡.1.16
10-30 2023-10-30 23:12:25 / 수정일: 2023-10-30 23:18:49
·
로컬에서 다른 인프라 모듈을 올릴때를 제외하고
서버 모듈을 Java 로 개발할 때 docker 를 쓸 이유는 없다고 생각합니다.

JVM은 특히 off heap 관리가 쉽지 않아서 host memory 를 쓰는게 낫지
docker container 에 넣어두면 container limt 을 꽤나 넉넉히 줘야 합니다.
쿠키맨
IP 112.♡.119.111
10-31 2023-10-31 01:51:39
·
환경 일관성
- 도커를 사용하면 개발자 각자의 로컬 환경에서 발생할 수 있는 차이점을 제거할 수 있습니다. 이로 인해 "내 컴퓨터에서는 잘 돌아가는데..."라는 문제를 피할 수 있습니다.

다양한 환경 테스트
- 다양한 자바 버전이나 다른 종속성을 가진 환경에서의 테스트가 용이합니다. 예를 들어, Java 8과 Java 11에서 동시에 테스트를 해야 하는 경우, 도커 컨테이너를 사용하면 간단히 해결할 수 있습니다.

서비스 의존성
- 로컬에서 여러 서비스나 데이터베이스와의 통신이 필요한 경우, 도커 Compose를 사용하여 여러 컨테이너를 함께 실행할 수 있습니다. 이를 통해 실제 운영 환경과 유사한 환경을 로컬에서 구축할 수 있습니다.

빠른 환경 구축
- 새로운 개발자가 팀에 합류하거나 환경을 새로 세팅해야 할 때, 도커 이미지와 도커 컴포즈 파일만 있으면 빠르게 환경을 구축할 수 있습니다.

포트폴리오 및 배포 용이성
- 개발한 애플리케이션을 도커 이미지로 만들어 관리하면, 이를 통해 다른 사람들에게 쉽게 보여주거나 배포할 수 있습니다.
독산동숨쉬기선수
IP 121.♡.204.17
10-31 2023-10-31 12:27:57
·
저도 맥북에서 intellij 를 사용하며 스프링으로 개발을 하고 있는데요
DB 서버는 docker를 이용하여 실행하면, 버전을 맞춰주기도, 또 여러가지 DB를 띄워 사용하기 좋습니다.

다만 JDK의 경우는 굳이 도커를 사용하지 않아도 괜찮다 생각을 합니다.
다양한 버전의 JDK를 실행하는 것은 intellij에서 JDK를 선택하는 것으로 충분한 것 같아요.

맥북에서 docker를 이용할 때에는 가상머신을 생성하여 그 가상머신 위에서 docker를 구동하게 되는데,
DB 서버나 웹 서버 같은 프로세스가 이미 docker 위에서 구동되고 있는데, 거기에 JDK를 굳이 더 얹고싶지 않더라구요.

또 위에서 많은 분들이 배포 용이성을 말씀해주셨는데...
ARM 기반 맥북이라면, 그리고 서버에서는 x86/AMD64 계열을 사용한다면... 도커 이미지 빌드를 아키텍처에 따라 여러벌을 해주어야 합니다.
저는 이 부분이 좀 더 번거롭게 느껴지더라구요.

그리고 스프링 기반이라면 JAR/WAR만 배포하면 되니, 저는 서버에서 JAR를 실행하는 환경을 docker로 구성해놓았습니다.

결론을 다시 한번 말씀드리면...
JDK는 로컬에서 intellij와 함께 관리하는 것이 사용하기 편하고
DB 서버 / 웹서버 등의 인프라는 docker로 관리하는 것이 편합니다.

+) JDK를 도커로 구동하게 될 경우에, intellij 구버전에서는 디버깅이 쉽지 않더라구요.
야근의요정
IP 223.♡.24.254
10-31 2023-10-31 15:20:16 / 수정일: 2023-10-31 15:20:44
·
정말 심플하게 설명드리면 개발PC가 윈도우고 운영환경이 리눅스나 유닉스면 첨부파일 경로 및 한글 인코딩 때문에 고민할 일이 없어집니다!?! (docker로 리눅스 포팅하면 윈도우 자체를 고려할 일이 없어요)
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.