This is quite simple, there is a lot of docs out there, so just to put it on one place I do not need to look for it next time I want to install this "full stack solution":
Install Podman
# subscription-manager repos --enable rhel-7-server-extras-rpms # yum install podman
Start and configure registry
# lvcreate data_perf54 --size 25G --name docker_registry # mkfs.xfs /dev/mapper/data_xyz-docker_registry # tail -n 1 /etc/fstab /dev/mapper/data_xyz-docker_registry /var/lib/registry xfs defaults 0 0 # mount /var/lib/registry # podman run --privileged -d --name registry-srv -p 5000:5000 -v /var/lib/registry:/var/lib/registry registry:2
Surviving reboot
# cat /etc/systemd/system/registry-srv-container.service [Unit] Description=Docker registry container [Service] Restart=always ExecStart=/usr/bin/podman start -a registry-srv ExecStop=/usr/bin/podman stop -t 30 registry-srv [Install] WantedBy=local.target # systemctl enable registry-srv-container.service # systemctl restart registry-srv-container.service # systemctl status registry-srv-container.service
Push to it
# grep 'registries.insecure' -A 1 /etc/containers/registries.conf [registries.insecure] registries = ['your_hostname:5000'] # podman pull busybox # podman tag docker.io/library/busybox $( hostname ):5000/busybox # podman push $( hostname ):5000/busybox
See registry's API
# curl -s "http://$( hostname ):5000/v2/_catalog?n=100" | json_reformat { "repositories": [ "busybox" ] }