Quickstart

Quickstart (빠른 시작)

기본 Docker 확장을 만드는 방법을 안내하는 퀵스타트 가이드예요.

출처: 문서

본문

이 가이드를 따라 기본 Docker 확장 만들기를 시작하세요. Quickstart 가이드는 당신을 위한 보일러플레이트 파일을 자동으로 생성해줘요.

사전 요구사항 (Prerequisites)

  • Docker Desktop
  • NodeJS
  • Go

참고: NodeJS와 Go는 quickstart 가이드를 따라 확장을 만들 때만 필요해요. 이 가이드는 docker extension init 명령을 사용해 보일러플레이트 파일을 자동 생성해요. 이 명령은 ReactJS와 Go 애플리케이션에 기반한 템플릿을 사용해요.

Docker Desktop 설정에서 개발 중인 확장을 설치할 수 있는지 확인하세요. Docker Desktop 설정의 Extensions 탭으로 이동해 Allow only extensions distributed through the Docker Marketplace를 선택 해제해야 할 수도 있어요.

1단계: 디렉터리 설정 (Step one: Set up your directory)

디렉터리를 설정하려면 init 하위 명령을 사용하고 확장 이름을 제공하세요.

$ docker extension init <my-extension>

이 명령은 확장의 이름, 설명, Hub 저장소 이름 같은 확장에 관한 일련의 질문을 해요. 이는 CLI가 시작할 보일러플레이트 파일 세트를 생성하는 데 도움을 줘요. 보일러플레이트 파일은 my-extension 디렉터리에 저장돼요.

자동 생성된 확장은 다음을 포함해요:

  • 소켓에서 수신하는 backend 폴더의 Go 백엔드 서비스. /hello 엔드포인트 하나가 JSON 페이로드를 반환해요.
  • 백엔드를 호출하고 백엔드의 응답을 출력할 수 있는 frontend 폴더의 React 프론트엔드.

UI 빌드에 대한 자세한 내용과 가이드라인은 Design and UI styling 섹션을 참조하세요.

2단계: 확장 빌드 (Step two: Build the extension)

확장을 빌드하려면 새로 만든 디렉터리로 이동해 다음을 실행하세요:

$ docker build -t <name-of-your-extension> .

docker build는 확장을 빌드하고 선택한 Hub 저장소와 같은 이름의 이미지를 생성해요. 예를 들어 다음 질문에 john/my-extension이라고 입력했다면:

? Hub repository (eg. namespace/repository on hub): john/my-extension

docker build는 john/my-extension이라는 이름의 이미지를 생성해요.

3단계: 확장 설치 및 미리보기 (Step three: Install and preview the extension)

Docker Desktop에 확장을 설치하려면 다음을 실행하세요:

$ docker extension install <name-of-your-extension>

Docker Desktop에서 확장을 미리 보려면 설치가 완료되면 Extensions 메뉴 아래에 Quickstart 항목이 보일 거예요. 이 항목을 선택하면 확장의 프론트엔드가 열려요.

팁: UI 개발 중에는 전체 확장을 다시 빌드하지 않고 변경 사항을 테스트하는 데 핫 리로딩(hot reloading)을 사용하는 것이 유용해요. 자세한 내용은 UI 개발 중 미리보기를 참조하세요.

확장에 속한 컨테이너를 검사하고 싶을 수도 있어요. 기본적으로 확장 컨테이너는 Docker Dashboard에서 숨겨져 있어요. Settings에서 변경할 수 있어요. 확장 컨테이너 표시 방법을 참조하세요.

4단계: 확장을 Marketplace에 제출하고 게시 (Step four: Submit and publish your extension to the Marketplace)

중요: Docker가 Marketplace 보안을 검토하는 동안 Docker Extensions Marketplace에 대한 새 제출이 일시 중지되었어요. 기존 확장은 계속 업데이트할 수 있고, 프라이빗 Marketplace 확장은 영향을 받지 않아요. 추가 질문이 있으면 [email protected]에 문의하세요.

확장을 모든 Docker Desktop 사용자가 사용할 수 있게 하려면 Marketplace에 게시용으로 제출할 수 있어요. 자세한 내용은 Publish를 참조하세요.

정리 (Clean up)

확장을 제거하려면 다음을 실행하세요:

$ docker extension rm <name-of-your-extension>

다음은 무엇인가요?

더 알아보기 (Learn more)