Github에서는 코드 및 라이브러리 공유를 위한 Packages 서비스를 제공한다.
제공하는 패키지 관리자 툴은 아래와 같다.
(Docker도 있고 npm도 있네!)

이 Github Packages를 사용하면 쉽게 내가 만든 라이브러리, 코드, 프레임워크들을 공유할 수 있다.
우리 팀에서도 Docker를 활용하여 여러 패키지를 공유하고 있기 때문에 나도 간단하게 실습해보려고 한다.
Github에서 제공하는 거의 모든 기능은 Token을 필요로 한다. 따라서 우리도 Github Packages 용 Token을 발급받아 보자!!
Settings > Developer Settings > Personal access tokens로 이동하여 토큰 발급 버튼을 클릭합니다.

그리고 아래 packages 관련된 권한을 체크한 후 만들어줍니다!!

발급받은 토큰을 잘 복사해두고 제대로 발급됐는 지 확인해봅니다.
확인하는 방법은 packages의 주소인 ghcr.io에 로그인 해보는 것으로 아래 명령어를 cmd or teminal에 입력해봅니다.
docker login ghcr.io -u username
// password에는 아까 발급받은 토큰을 입력해주시면 됩니다.
아래와 같이 로그인 성공이 뜨면 토큰이 잘 발급된 것입니다.

이제 Github Packages에 올릴 도커 이미지를 준비합니다.
저는 이전에 만든 사서 봇 관리자 페이지를 재활용하겠습니다.
우선 Dockerfile을 만든 후, 아래 조건에 맞게 docker image를 만듭니다.

docker build -t ghcr.io/OWNER/IMAGE_NAME VERSION
저는 아래와 같이 명령어를 입력했습니다.

도커 이미지 생성이 완료가 되면 그대로 push 요청을 보내면 됩니다.
docker push ghcr.io/OWNER/IMAGE_NAME
저는 아래와 같이 입력했습니다.

그리고 github package 탭으로 이동하면 제가 만든 패키지가 올라온 것을 볼 수 있습니다.

사용법도 간단합니다!! 그냥 Pull 받아오시면 됩니다!!
docker pull ghcr.io/OWNER/IMAGE_NAME:VERSION
실제로 packages 탭에서도 이쁘게 알려줍니다

실제로 이렇게 하면 제가 만든 도커 이미지 파일을 공유할 수 있어서 Dockerfile이나 코드를 통해 공유했을 때 걸리는 시간을 획기적으로 줄여줄 수 있습니다!!
따라서 "어 우리팀은 docker를 쓰는데 dockerfile을 넘겨주고 build 시키는 과정이 불편하다!" 하시면 써보셔도 괜찮을 거 같습니다!!!