Docker 이미지를 GitHub에 등록하기 【Packages】

GitHub Packages를 사용하면 GitHub에서 Docker 이미지를 관리할 수 있습니다. GitHub Packages에서는 Docker 이미지 외에도 npm 패키지를 게시할 수 있습니다.

GitHub가 제공하는 레지스트리에는 https://ghcr.iohttps://docker.pkg.github.com의 두 가지가 있으므로이 두 개에 Docker 이미지를 등록해보십시오.

준비



컨테이너 레지스트리 인증·등록을 위해서, write:packages 의 권한이 있는 퍼스널 액세스 토큰을 발행해 둡니다.

또한 레지스트리에 등록하는 이미지도 작성해 둡니다.

Dockerfile
FROM alpine:3.10
ENTRYPOINT ["echo", "hello world"]

1. Dockerfile에서 이미지 만들기
$ docker build -t helloworld:latest .

2. 이미지 테스트
$ docker run --name hello-world helloworld:latest
// hello world

패키지 네임스페이스 https://ghcr.io에 등록



1. 컨테이너 레지스트리에서 인증


$ export CR_PAT=YOUR_TOKEN
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin

2. tag 붙이기


$ docker tag helloworld:latest ghcr.io/kiyo27/helloworld:latest

3. 컨테이너 레지스트리로 푸시


$ docker push ghcr.io/kiyo27/helloworld:latest

푸시가 성공하면 Packages 탭에서 등록된 Docker 이미지를 확인할 수 있습니다.


참고 : 컨테이너 레지스트리 사용

https://docker.pkg.github.com에 등록



GitHub의 Docker 레지스트리( docker.pkg.github.com )는 컨테이너 레지스트리( https://ghcr.io )로 대체된 것 같습니다. 컨테이너 레지스트리 쪽이 세세한 권한 관리를 할 수 있다고 합니다.
htps : // / cs. 기주 b. 코 m / 엔 / 빠 c 게 s / r kin g-u-th-A-Ge-u-b-Pa C-Kage s-Regi stri / 스트리
앞으로도 GitHub의 Docker 레지스트리는 더 이상 사용되지 않을 수 있습니다.

1. Docker 레지스트리에서 인증


$ echo $CR_PAT | docker login https://docker.pkg.github.com m -u kiyo27 --password-stdin

2. tag 붙이기



OWNER를 리포지토리를 소유한 사용자 이름으로 REPOSITORY는 이미지를 게시하는 리포지토리 이름으로 변환합니다.$ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
$ docker tag helloworld:latest docker.pkg.github.com/kiyo27/hello-world-workflow/helloworld:latest

3. 이미지 푸시


$ docker push docker.pkg.github.com/kiyo27/hello-world-workflow/helloworld:latest

등록한 이미지는 리포지토리와 연결됩니다.


참고 : Docker 레지스트리 사용

참고


  • Packages: Container registry now supports GITHUB_TOKEN
  • Migrating to the Container registry from the Docker registry
  • npm 레지스트리 사용
  • 좋은 웹페이지 즐겨찾기