[Docker] 이미지 배포하기
Docker 이미지 배포하기
Image를 Registry로 push
하여 업로드하는 과정을 통해 Image를 배포할 수 있다.
Registry
- Docker Hub Registry
- GitHub Packages Container Registry
- Amazon Elastic Container Registry
- Google Container Registry
- Harbor Registry
Registry는 Docker Image를 공유하기 위한 서버 애플리케이션이다.
Docker Hub
Docker Hub에서 회원가입 후 로그인을 진행한다.
Repositories로 이동한 후 Create Repository를 클릭한다.
생성할 Repository의 이름을 입력한 후 공개 여부를 선택하고 Create를 클릭한다. Private은 계정당 무료로 하나만을 제공하기 때문에 더 필요한 경우 비용을 지불해야 한다.
생성된 Repository를 확인한 후 사전 준비를 마친다.
CLI 환경에서 Docker Hub로 이미지를 업로드하기 위해 먼저 로그인을 진행한다.
$ docker login
docker push
를 통해 원하는 이미지를 업로드한다.
$ docker push <username>/<image>:<tag>
# ex) docker push jiheon/apache-server:1.0
Docker Hub에 이미지가 업로드된 것을 확인할 수 있다.
docker pull
을 통해 Docker Hub에 업로드된 이미지를 다운로드할 수 있다.
$ docker pull <username>/<image>:<tag>
# ex) docker pull jiheon/apache-server:1.0
GitHub
사용 방법에 대하여 자세한 설명은 Working with the Container registry에서 참고할 수 있습니다.
먼저 Container Registry에 인증하기 위한 Personal access token을 생성해야 한다.
우측 상단 Profile > Settings > 좌측 Developer settings > 좌측 Personal access tokens로 이동하여 Generate new token을 클릭한다.
Personal access token의 이름과 유효기간을 설정하고, 범위를 write/delete:packages로 선택한 후 Generate token 버튼을 클릭하면 생성된다.
CLI 환경에서 생성한 Personal access token을 환경 변수로 저장한다.
$ export CR_PAT=YOUR_TOKEN
Container Registry에 로그인한다.
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
docker push
를 통해 원하는 이미지를 업로드한다.
$ docker push ghcr.io/<username>/<image>:<tag>
# ex) docker push ghcr.io/jiheon/apache-server:1.0
GitHub Packages에 이미지가 업로드된 것을 확인할 수 있다.
기본적으로 Private으로 되므로 Packages settings에서 Public으로 변경이 가능하다. 그리고 Connect Repository을 통해 원하는 Repository를 선택하여 연결이 가능하다.
References
Author And Source
이 문제에 관하여([Docker] 이미지 배포하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@jiheon/Docker-이미지-배포하기
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Author And Source
이 문제에 관하여([Docker] 이미지 배포하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiheon/Docker-이미지-배포하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)