소개
이 시점에서 Docker Desktop 덕분에 로컬 개발 시스템 에서 Part 2 에 컨테이너화된 애플리케이션을 구축했다 . 컨테이너화된 응용 프로그램을 개발하는 마지막 단계는 Docker Hub와 같은 레지스트리에서 이미지를 공유하여 대상 컴퓨터에서 쉽게 다운로드하여 실행할 수 있다.
Docker Hub 계정 설정
Docker ID가 아직 없으면 다음 단계에 따라 설정. Docker Hub에서 이미지를 공유 할 수 있다.
-
Docker Hub 가입 페이지 ( https://hub.docker.com/signup)를 방문.
-
양식을 작성하고 제출하여 Docker ID를 작성.
-
등록 절차를 완료하려면 이메일 주소를 확인.
-
툴바 또는 시스템 트레이에서 도커 아이콘을 클릭하고 로그인 / 도커 ID 생성을 클릭.
-
새로운 Docker ID와 비밀번호를 입력. 인증에 성공하면 방금 사용한 '로그인'옵션 대신 Docker 데스크탑 메뉴에 Docker ID가 나타남.
명령 줄에서 docker login 을 입력하여 동일한 작업을 수행 할 수 있습니다 .
Docker Hub 리포지토리를 만들고 이미지를 푸시
이제 Docker Hub 계정을 설정하고 Docker Desktop에 연결했다. 이제 첫 번째 리포지토리를 만들고 게시판 앱을 공유하자.
-
메뉴 막대에서 Docker 아이콘을 클릭하고 저장소> 작성으로 이동. Docker Hub 페이지로 이동하여 새 리포지토리를 만든다.
-
저장소 이름을 bulletinboard 로 입력한다. 지금은 다른 모든 옵션을 그대로 두고 맨 아래에서 작성 을 클릭.
- 이제 Docker Hub에서 이미지를 공유 할 준비가되었지만 먼저해야 할 것이 있다. 이미지가 Docker Hub에서 공유하려면 네임 스페이스가 올바르게 지정 되어야한다 . 구체적으로, 이미지를 같은 이름으로해야 한다 <Docker ID>/<Repository Name>:<tag>. 다음 bulletinboard:1.0과 같이 이미지 레이블을 다시 지정할 수 있다 (물론 gordonDocker ID로 바꾸자).
- docker tag bulletinboard:1.0 gordon/bulletinboard:1.0
-
마지막으로 이미지를 Docker Hub로 푸시.
docker push gordon/bulletinboard:1.0
Docker Hub의 저장소를 방문하면 새 이미지가 표시된다. Docker Hub 리포지토리는 기본적으로 공용이다.
밀어 붙는 데 문제가 있습니까? Docker Desktop 또는 명령 줄을 통해 Docker Hub에 로그인해야하며 위 단계에 따라 이미지의 이름도 올바르게 지정해야 한다. 푸시가 작동하는 것처럼 보이지만 Docker Hub에 표시되지 않으면 몇 분 후에 브라우저를 새로 고치고 다시 확인한다.
결론
Docker Hub에서 이미지를 사용할 수 있으므로 어디에서나 이미지를 실행할 수 있다. 아직없는 새 컴퓨터에서 사용하려고하면 Docker가 자동으로 Docker Hub에서 다운로드를 시도한다. 이러한 방식으로 이미지를 이동하면 더 이상 소프트웨어를 실행하려는 시스템에 Docker를 제외한 모든 종속성을 설치할 필요가 없다. 컨테이너화 된 애플리케이션의 종속성은 이미지 내에 완전히 캡슐화되고 격리되어 있으며 위에서 설명한대로 Docker Hub를 사용하여 공유 할 수 있다.
명심해야 할 또 다른 사항 : 현재는 이미지를 Docker Hub로만 푸시했다. Dockerfile은 어떨까? 중요한 모범 사례는 응용 프로그램의 소스 코드와 함께 버전을 관리하는 것이다. Docker Hub 리포지토리 설명에 이러한 파일을 찾을 수있는 위치를 나타내는 링크 또는 메모를 추가하여 이미지 작성 방법뿐만 아니라 전체 응용 프로그램으로 실행되는 방법에 대한 기록을 보존 할 수 있다.
'Docker' 카테고리의 다른 글
Docker - macOS에 Docker Toolbox 설치 (0) | 2020.05.26 |
---|---|
Docker - 이미지 빌드 및 실행 (0) | 2020.05.26 |
Docker - 오리엔테이션 및 설정 (0) | 2020.05.26 |
Docker 개요 (0) | 2020.05.26 |