Registry 設定

  1. 提供容器 images 的 server 稱為為 registry server,podman 可以從 registry server 搜尋下載需要的 images 來啟動容器。
  2. podman 由 /etc/containers/registries.conf 設定檔決定搜尋的 registries 及方式。
    1. [registries.search] 設定查詢的 registries:預設有 registry.access.redhat.com, registry.redhat.io, docker.io 三個伺服器。
    2. unqualified-search-registries 設定,可以簡化pull下載,不用輪入registry server名稱,會依列出的順序自動搜尋,第一台查不到,就查下一台。
    3. [registries.insecure] 設定是否使用 http 不安全連線:若需要,則將 server 列到中括號中,例如 registries = ['registry.server']。
    [root@kvm3 ~]# egrep -v '^(#| |$)' /etc/containers/registries.conf
    [registries.search]
    registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io']
    unqualified-search-registries = ["registry.fedoraproject.org", 
    "registry.access.redhat.com", "registry.centos.org", "docker.io"]
    [registries.insecure]
    registries = []
    [registries.block]
    registries = []
    
  3. podman 可由非root帳號管理podman容器,以deyu5帳號測試說明,若deyu5帳號不存在,則先新增並設定密碼。
    [root@kvm3 ~]# useradd deyu5
    [root@kvm3 ~]# passwd deyu5
    Changing password for user deyu5.
    New password:
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:
    passwd: all authentication tokens updated successfully.
    
  4. 以 deyu5 帳號登入,不能使用 su 或 su - 切換身份,否則無法執行 systemctl --user。
    [root@kvm3 ~]# ssh deyu5@localhost
    deyu5@localhost's password:
    
  5. 非root用戶若不使用系統預設的 registry 設定,可獨立在自己家目錄下建立設定檔 ~/.config/containers/registries.conf,以下 unqualified-search-registries 指定使用 docker.io 及自建內網的 registry.csie.cyut.edu.tw。
    [deyu5@kvm3 ~]$ mkdir -p ~/.config/containers
    [deyu5@kvm3 ~]$ vim ~/.config/containers/registries.conf
    [deyu5@kvm3 ~]$ cat ~/.config/containers/registries.conf
    unqualified-search-registries = ['docker.io', 'registry.csie.cyut.edu.tw']
    
    [[registry]]
    location = "registry.csie.cyut.edu.tw"
    insecure = true
    blocked = false