다음에서 비디오 녹화 Java 개발자를 위한 Docker 웨비나를 이용할 수 있습니다:

자주 묻는 질문에 대한 답변은 다음과 같습니다:

  • 다음과 비교하여 Kubernetes에 대해 어떻게 생각하십니까? 도커 및 도커 스웜? 쿠버네티스 또는 도커 스웜? 어느 쪽을 선택해야 할까요?상황에 따라 다르지만;)Docker Swarm은 Kubernetes에 비해 학습 곡선이 훨씬 더 간단합니다. Kubernetes는 매우 독단적이지만 작동 방식을 이해하면 매우 강력할 수 있습니다. 고려할 만한 몇 가지 사항은 다음과 같습니다:
    • 간편한 설정/시작
    • 새로운 개념을 배우거나 Docker에 맞춰야 하는 경우
    • 기존 워크플로와 어떻게 연계할 수 있나요?
    • 단일 또는 다중 마스터
    • 여러 클라우드 지원
    • 여러 클라우드에 걸친 클러스터
    • 동적 스케일링 업/다운
    • 노드/컨테이너 장애 시 컨테이너 스케줄 재조정하기
    • 플러그형 스케줄러 전략(화려하게 꾸미고 싶은 경우)
    • 서비스 검색
    • 영구 볼륨

    이 질문이 몇 달 전에 나온 질문이라면 Kubernetes 을 선택하는 것이 당연한 선택이었을 것입니다. 하지만 Docker Swarm은 정말 많은 릴리스와 기능을 출시하고 있으며 잘 따라잡고 있습니다. 확인해보세요. 규모에 맞게 Kubernetes 성능을 능가하는 Docker Swarm해커뉴스 에서도 이 주제에 대한 흥미로운 토론이 진행 중입니다. 관련 문서도 읽어보세요. 규모에 따른 컨테이너 플랫폼 평가.

    또한 다음 사항도 살펴봐야 합니다. 메소스+마라톤 또는 DC/OS.

    시작하기 위한 몇 가지 블로그를 소개합니다:

  • 예를 들어 정적 리소스를 리패키징하기 위해 각 변경 후 WAR 파일을 번들링하지 않고 대신 압축 해제된 아카이브를 사용하는 경우 docker WildFly 컨테이너에 대해 개발하는 모범 사례는 무엇인가요? 도커는 다음을 허용합니다. 파일 시스템의 디렉터리를 볼륨으로 매핑하기 를 컨테이너에 추가합니다. 이렇게 하면 변경할 때마다 WAR을 번들링할 필요 없이 WildFly 컨테이너에 대해 애플리케이션을 개발하는 데 사용할 수 있습니다. 이에 대한 자세한 설명은 Eclipse에서 WildFly Docker로 배포하기.
  • IntelliJ Idea는 Mac OS/Windows에서 네이티브 도커를 지원하나요?Andrey: 아직은 아니지만 로드맵에 포함되어 있습니다.
  • 환경 변수 제공의 장단점은 무엇인가요? 컨설턴트:컨설턴트와 같은 링크와 환경 변수 제공의 장단점은 무엇인가요? 도커 링크는 레거시이므로 환경 변수 및 도커 네트워킹 를 사용하는 것이 새 애플리케이션을 구축하는 데 권장됩니다. 자세한 내용은 아래의 다른 답변에서 확인하세요.
  • 컨테이너에서 실행 중인 Java 프로세스에 디버거를 연결하려면 어떻게 해야 하나요? 다니엘 브라이언트의 훌륭한 블로그 게시물을 읽어보세요. Docker에서 실행되는 Java 애플리케이션 디버깅하기.
  • 도커와 방랑자의 관계는 무엇인가요? 둘 다 함께 사용할 수 있나요? 도커가 배그랜트를 대체할 수 있나요?Docker와 Vagrant는 서로 다른 문제를 해결하며, Vagrant를 사용하면 호스트 머신과 독립적으로 가상 머신을 프로비저닝할 수 있습니다. 이는 VirtualBox와 같은 하이퍼바이저를 사용하여 수행됩니다. 가상 머신에 대한 정의는 방랑자 파일를 사용하여 VM을 설정하는 방법과 환경을 프로비저닝할 스크립트를 정의합니다. 이러한 VM은 Linux, Windows 또는 Mac에서 생성할 수 있으며, Docker를 사용하면 컨테이너를 생성할 수 있습니다. 이는 다음을 기반으로 하는 네이티브 Linux 기술입니다. lxc 올 여름에 Windows Server 2016에 출시됩니다. Mac용 Docker는 Mac용 개발 환경을 제공하며, Docker 엔진을 프로비저닝해야 하는 경우 다음을 수행할 수 있습니다. 방랑자 파일 를 사용하여 Ubuntu 또는 CentOS를 프로비저닝합니다. 그런 다음 apt get 또는 yum 설치 스크립트를 실행하여 Docker Engine을 설치하세요. 새 버전의 Docker Engine을 사용할 수 있는 경우 Vagrant 이미지도 업데이트하거나 스크립트를 다시 실행해야 합니다. 또 다른 옵션은 Docker Machine을 사용하고 VirtualBox 드라이버를 사용하여 Docker Engine이 설치될 머신을 만드는 것입니다. 이 경우 도커 머신 스크립트에는 단순히 도커 엔진을 업그레이드하는 업그레이드와 같은 명령이 있으며, 좀 더 흥미로운 논의는 다음에서 확인할 수 있습니다. 스택오버플로우 그리고 Quora이 전체 방정식을 더욱 흥미롭게 만들기 위해, Vagrant는 Docker 컨테이너로 백업할 수 있습니다. 가상 머신 대신!
  • IntelliJ IDEA 15에서 Docker 도구 창이 누락되었습니다. 플러그인이 설치되었습니다.Andrey: 별도의 도구 창은 2016.1에 추가되었습니다. 그 전에는 Docker가 애플리케이션 서버 도구 창의 일부였습니다.
  • index.jsp를 변경하고 이미지를 다시 빌드하지 않고 브라우저에서 변경 사항을 확인할 수 있나요? IntelliJ IDEA의 리소스 업데이트 작업의 정신에 따라? 안드레이 좋은 아이디어 같네요. 트래커에 기능 요청으로 제출해 주세요: https://youtrack.jetbrains.com/issues/IDEA.
  • VirtualBox보다 xhyve/Hyper-V를 사용하면 성능이 향상되나요? Mac용 도커는 알파인 리눅스 배포판의 도커 엔진을 Mac OS X용 xhyve 가상 머신 또는 Windows의 Hyper-V에서 실행합니다. xhyve는 다음을 기반으로 구축됩니다. Hypervisor.framework 를 지원합니다. 유형 2 하이퍼바이저가 아닌 네이티브 기술을 사용할 때의 주요 장점은 네이티브 룩앤필, 더 나은 성능 및 더 나은 볼륨 관리입니다.자세한 내용은 (3개월 전 블로그)에서 읽어보세요. xhyve 대 VirtualBox 드라이버 벤치마크. 이 영역은 빠르게 진화하고 있으며 다음을 주시하십시오. blog.docker.com 에서 자세한 내용을 확인하세요.
  • In 도커 컴포즈컨테이너 하나만 업데이트하면 '링크'가 손실되나요, 아니면 모든 컨테이너를 다시 배포해야 하나요? Docker 링크는 이제 레거시입니다. 애플리케이션을 마이그레이션하여 다음을 사용하도록 하는 것이 좋습니다. 도커 네트워킹. . 링크와 네트워킹의 주요 차이점 가 있습니다:
    1. 서로 다른 물리적 또는 가상 호스트에서 컨테이너를 서로 연결하세요.
    2. 네트워킹을 사용하는 컨테이너는 다른 컨테이너와의 연결을 중단하지 않고도 쉽게 중지, 시작 및 재시작할 수 있습니다.
    3. 컨테이너를 먼저 만들어야만 연결할 수 있는 것은 아닙니다. 네트워킹을 사용하면 컨테이너를 원하는 순서대로 생성하고 컨테이너 이름을 사용하여 서로를 검색할 수 있습니다.
  • 호스트에서 실행 중인 컨테이너에 호스트 포트를 노출하려면 어떻게 해야 하나요? 컨테이너의 포트는 다음을 사용하여 호스트에 노출됩니다. -p 도커를 실행합니다. 호스트의 포트는 다음을 사용하여 액세스할 수 있습니다. : 를 직접 입력하세요.
  • 공식 Java Docker 이미지(OpenJDK 기반)는 TCK 인증을 받지 않았습니다. 이 경우 어떻게 해야 하나요? OpenJDK는 Java SE의 참조 구현이므로 TCK를 준수합니다. 공식 자바 도커 이미지 는 OpenJDK.Azul 시스템을 기반으로 합니다. OpenJDK에 대한 상업적 지원 제공. 또 다른 옵션은 Azul 시스템에서 사용 가능한 OpenJDK 이미지. 이는 최신 버전의 OpenJDK 8, 7 및 6 플랫폼에 대한 완전한 테스트와 호환성 검증을 거친 빌드입니다.오라클은 JDK용 Docker파일을 게시하지만 이미지는 게시하지 않습니다. 이 정의에서는 오라클 리눅스:최신 를 기본 이미지로 사용하거나 우분투, 센토스 또는 알파인. 이 경우 자체 Docker파일을 만들 수 있습니다. Docker에서 Java를 실행하시나요? 법을 위반하고 있습니다. 는 오라클 JDK 기반 이미지를 Docker Hub로 푸시해서는 안 되는 이유를 잘 요약한 글입니다.
  • WildFly가 설치된 컨테이너에서 다른 서버의 DB가 있는 컨테이너를 사용하려면 어떻게 해야 하나요? 도커 링크 는 레거시이며 컨테이너가 동일한 호스트에서 각각 통신하는 것만 허용합니다. 두 개의 컨테이너가 통신하는 데 권장되는 방법은 도커 네트워크기본적으로 도커 스웜 클러스터는 오버레이 네트워크 를 사용하면 여러 컨테이너가 호스트 간에 통신할 수 있습니다.WildFly 및 Couchbase를 사용하는 멀티 컨테이너 및 멀티 호스트 애플리케이션 는 각 컨테이너가 Docker Swarm 클러스터의 두 개의 별도 호스트에서 실행되는 Couchbase와 WildFly를 연결하는 방법을 보여줍니다. 다음은 참조용 Compose 파일입니다:

다음은 몇 가지 참고 자료입니다:

작성자

게시자 Arun Gupta, 개발자 지원 부문 부사장, Couchbase

아룬 굽타는 Couchbase의 개발자 지원 담당 부사장입니다. 그는 Sun, Oracle, Red Hat에서 10년 이상 개발자 커뮤니티를 구축하고 이끌었습니다. 그는 콘텐츠, 마케팅 캠페인 및 프로그램의 전략, 계획 및 실행을 개발 및 실행하는 교차 기능 팀을 이끄는 데 있어 깊은 전문성을 보유하고 있습니다. 그 전에는 Sun에서 엔지니어링 팀을 이끌었으며 Java EE 팀의 창립 멤버입니다. Gupta는 기술에 관한 블로그 게시물을 2,000개 이상 작성했습니다. 40여 개국에서 수많은 주제에 대해 광범위한 강연 경험을 가지고 있으며, 3년 연속 JavaOne Rock Star로 선정되었습니다. 또한 미국에서 Devoxx4Kids 지부를 설립하여 어린이를 대상으로 한 기술 교육을 지속적으로 장려하고 있습니다. 기술에 관한 여러 권의 책을 저술했으며, 열렬한 마라토너이자 지구를 횡단하는 사람, Java 챔피언, JUG 리더, NetBeans 드림팀 멤버, Docker 캡틴이기도 한 그는 @arungupta에서 쉽게 만나볼 수 있습니다.

댓글 남기기