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

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
Podman을 사용하면 로컬에 이미지를 다운로드 한 후 태그를 변경하고, 내부 레지스트리로 이미지를 업로드 할 수 있다.
1. 이미지 다운로드
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
Pod를 사용하여 Docker 레지스트리와 Gogs Git 서버를 구성한다. Pod 이름은 workshop-app으로 설정하고, 적절한 포트번호를 사용한다.
podman pod create --publish 5000:5000 --publish 80:3000 --name workshop-app
podman run -d --name docker-registry --pod workshop-app docker.io/library/registry:latest
podman run -d --name git-server --pod workshop-app gogs
podman container ls
podman port workshop-app
Pod 구성이 완료된 후, 필요한 이미지를 내부 Docker 레지스트리 서버로 업로드합니다.
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
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 서비스를 운영할 수 있다.