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>
다음은 무엇인가요?
- 확장을 위한 더 고급 프론트엔드 빌드하기.
- 확장 테스트 및 디버그 방법 알아보기.
- 확장용 CI 설정 방법 알아보기.
- 확장 아키텍처에 대해 자세히 알아보기.
- UI 디자인에 대해 자세히 알아보기.