서버 이미지 관리 및 GIT 서버 구성

띠로리·2024년 7월 22일

이 글에서는 Podman과 Skopeo를 사용하여 내부 레지스트리 서버에 이미지를 복사하고 업로드하는 방법은 설명한다. 또한, Gogs를 사용해 Git 서버를 구성하는 방법도 다룬다. 이를 통해 효율적으로 이미지를 관리하고 Git 서비스를 운영할 수 있다.

이미지 복사 및 업로드

Skopeo를 사용한 이미지 복사

Skopeo를 사용하면 로컬에 이미지가 존재하지 않아도 외부 레지스트리에서 내부 레지스트리로 이미지를 직접 복사할 수 있다.

  • Quay에서 내부 레지스트리로 이미지 복사
skopeo copy docker://quay.io/redhattraining/wordpress:5.3.0 docker://localhost:5000/tang/wordpress:v5
  • Docker Hub에서 내부 레지스트리로 이미지 복사
skopeo copy docker://docker.io/library/registry:latest docker://localhost:5000/tang/registry:v1

Podman을 사용한 이미지 업로드

Podman을 사용하면 로컬에 이미지를 다운로드 한 후 태그를 변경하고, 내부 레지스트리로 이미지를 업로드 할 수 있다.
1. 이미지 다운로드

podman pull quay.io/redhattraining/wordpress:5.3.0
  1. 이미지 태그 변경
podman tag quay.io/redhattraining/wordpress:5.3.0 localhost:5000/tang/wordpress:v5
  1. 이미지 업로드
podman push localhost:5000/tang/wordpress:v5

레지스트리 및 Gogs 서버 구성

Pod를 사용하여 Docker 레지스트리와 Gogs Git 서버를 구성한다. Pod 이름은 workshop-app으로 설정하고, 적절한 포트번호를 사용한다.

Pod 생성 및 서비스 실행

  1. Pod 생성
podman pod create --publish 5000:5000 --publish 80:3000 --name workshop-app
  1. Docker 레지스트리 실행
podman run -d --name docker-registry --pod workshop-app docker.io/library/registry:latest
  1. Gogs Git 서버 실행
podman run -d --name git-server --pod workshop-app gogs

컨테이너 상태 확인

podman container ls
podman port workshop-app

이미지 업로드

Pod 구성이 완료된 후, 필요한 이미지를 내부 Docker 레지스트리 서버로 업로드합니다.

  1. Skopeo를 사용한 이미지 업로드
skopeo copy docker://quay.io/redhattraining/wordpress:5.3.0 docker://localhost:5000/tang/wordpress:v5
skopeo copy docker://docker.io/library/registry:latest docker://localhost:5000/tang/registry:v1
  1. Podman을 사용한 이미지 업로드
podman pull quay.io/redhattraining/wordpress:5.3.0
podman tag quay.io/redhattraining/wordpress:5.3.0 localhost:5000/tang/wordpress:v5
podman push localhost:5000/tang/wordpress:v5

요약

Podman과 Skopeo를 사용하면 내부 레지스트리 서버에 이미지를 효율적으로 복사하고 업로드할 수 있다. 또한, Pod를 사용하여 Docker 레지스트리와 Gogs Git 서버를 쉽게 구성할 수 있다. 이를 통해 이미지를 중앙에서 관리하고, Git 서비스를 운영할 수 있다.

profile
차곡 차곡 기록 쌓기

0개의 댓글