Skip to content

antony@notes:~/suse$ cat "Quick-Start-Rootless-SLE-OCI-Container-Registry.md"

Quick Start Rootless SLE OCI Container Registry

2024-07-08· suse

Quick Start Rootless SLE OCI Container Image Registry

PreRequest

  • Podman version: 4.7 以上 (must)
  • 可以執行 Rootless Podman
  • 系統需可以上網 Pull Image,或是先準備好 registry.suse.com/suse/registry:latest 這片 Container Image

1. 建立一個永存目錄區

$ sudo mkdir /etc/registry && \
  sudo mkdir /var/lib/docker-registry && \
  sudo chown "$(id -u)":"$(id -g)" /etc/registry /var/lib/docker-registry

目錄區的擁有者和群組必須與當前使用者相同。

  • /etc/registry, 存放 registry 的設定檔 (config.yml)
  • /var/lib/docker-registry,存放 Container image

2. 設定 Registry

$ cat <<EOF | sudo tee /etc/registry/config.yml
---
version: 0.1
log:
  level: info
storage:
  filesystem:
    rootdirectory: /var/lib/docker-registry
http:
  addr: 0.0.0.0:5000
EOF

2. 啟動 SLE OCI Container Image Registry

$ podman run -d -p 5000:5000 \
--uidmap "+499:@$(id -u):1" \
--gidmap "+486:@$(id -g):1" \
-v /etc/registry/config.yml:/etc/registry/config.yml \
-v /var/lib/docker-registry:/var/lib/docker-registry \
--name registry \
registry.suse.com/suse/registry:latest

3. 檢視 Registry 運作狀態

$ podman ps -a

螢幕輸出 :

CONTAINER ID  IMAGE                                COMMAND               CREATED        STATUS        PORTS                   NAMES
011a050e9087  registry.suse.com/suse/registry:2.8  serve /etc/regist...  6 minutes ago  Up 6 minutes  0.0.0.0:5000->5000/tcp  registry

4. 更改 Image Tag

$ podman tag quay.io/hahappyman/alpine 192.168.61.128:5000/alpine

5. 測試 Push Container Image

$ podman push --tls-verify=false 192.168.61.128:5000/alpine

螢幕輸出 :

Getting image source signatures
Copying blob b2d5eeeaba3a done   |
Copying config 6dbb9cc540 done   |
Writing manifest to image destination