注:

了解如何在 Podman 上安装项目查询

简介

Project Quay 是一个开源资料档案库,用于存储和管理对象(例如容器)以在云原生平台上使用。项目测验还提供其他功能,例如(无特定顺序):

它可以使用操作员部署在 Kubernetes 集群上,也可以部署在 Podman 上的独立容器或高可用性集群中。

目标

此实验室展示如何在 Podman 上安装和运行 Project Quay,然后确认其有效。下面概述了介绍的主要步骤:

注:提供的步骤不包括如何使用证书配置注册表。因此,它建议用于非生产目的或内部/空置环境。

要求

Oracle 支持免责声明

Oracle 不会为以下说明中提供的步骤序列提供技术支持,因为这些步骤指的是 Oracle 未提供的软件程序和操作系统。本教程提供了可选的说明,仅供参考。

有关 Oracle 支持的基于 Podman 的服务开发和使用的方法的更多信息,请参见 https://docs.oracle.com/en/operating-systems/oracle-linux/podman/。

设置实验室环境

注:使用免费实验室环境时,有关连接和其他使用说明,请参见Oracle Linux Lab Basics

  1. 打开终端并通过 ssh 连接到 ol-server 实例(如果尚未连接)。

    ssh oracle@<ip_address_of_instance>
    

(可选)确认 Podman 工作

Oracle Linux 中的 container-tools 软件包提供最新版本的 Podman、Buildah、Skopeo 和关联的依赖项。

  1. 检查 Podman 的版本。

    podman -v
    
  2. 确认 Podman CLI 正常工作。

    podman run quay.io/podman/hello
    

    输出示例:

    [oracle@ol-server ~]$ podman run quay.io/podman/hello
    Trying to pull quay.io/podman/hello:latest...
    Getting image source signatures
    Copying blob f82b04e85914 done  
    Copying config dbd85e09a1 done  
    Writing manifest to image destination
    Storing signatures
    !... Hello Podman World ...!
    
             .--"--.           
           / -     - \         
          / (O)   (O) \        
       ~~~| -=(,Y,)=- |         
        .---. /`  \   |~~      
     ~/  o  o \~~~~.----. ~~   
      | =(X)= |~  / (O (O) \   
       ~~~~~~~  ~| =(Y_)=-  |   
      ~~~~    ~~~|   U      |~~ 
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Documents: https://docs.podman.io
    Twitter:   @Podman_io
    

配置网络

设置防火墙规则

编辑系统的防火墙规则以打开项目测验所需的端口。

  1. 更新防火墙规则

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --permanent --add-port=6379/tcp
    sudo firewall-cmd --reload
    
    

    输出示例:

    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=80/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=443/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=5432/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=6379/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --reload
    success
    

    下面列出了如何使用每个端口:

    • 端口 80 和 443:由 Quay 容器使用
    • 端口 5432:由 PostgreSQL 容器使用
    • 端口 6379:由 Redis 容器使用

设置主机文件

有几种方法可以配置由项目测验容器使用的网络,以确保它们可以一起通信,有关详细信息,请参阅项目测验文档

其中一个选项是确保 Oracle Linux 系统的主机名可解析。通过将 ol-server 短主机名和 FQDN 主机名添加到主机文件以及关联的 IP 地址,已在提供的免费实验室环境中完成此操作。

  1. 检查 /etc/hosts 文件的当前内容。

    cat /etc/hosts
    

    输出示例:

    [oracle@ol-server ~]$ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.150 ol-server.pub.linuxvirt.oraclevcn.com ol-server
    

(可选)安装 PostgreSQL 客户机

此步骤允许从容器外部的命令行访问 PostgreSQL 数据库。此步骤不是配置和设置容器所必需的。

  1. 安装 PostgreSQL 客户机。

    sudo dnf -y install postgresql
    

设置项目查询数据存储

Project Quay 使用数据库存储元数据。在本教程中使用 Postgres 是默认选项。用户也可以使用 MySQL 作为替代方案,但不在本实验范围之内。

  1. 为数据库容器数据存储创建目录。

    sudo mkdir -p /var/lib/pgsql/data
    
  2. 设置对数据存储的正确权限。

    sudo chmod 0755 /var/lib/pgsql/data
    
    sudo setfacl -m u:26:-wx /var/lib/pgsql/data
    
  3. 定义环境变量。

    这些项定义将用于启动 Postgres 容器的 Postgres 变量。

    export POSTGRESQL_CONTAINER_NAME=postgres
    export POSTGRESQL_DB=quay
    export POSTGRESQL_USER=quayuser
    export POSTGRESQL_PASSWORD=quay-test
    
    

    注:这些变量用于定义以下项

    • POSTGRESQL_CONTAINER_NAME 是指 Postgres 容器使用的名称。

    • POSTGRESSQL_DB、POSTGRES_USER 和 POSTGRES_PASSWORD 引用 Postgres 规范值。

  4. 启动 Postgres 容器,指定数据库数据存储的用户名、密码、数据库名称、端口号和卷挂载点等详细信息。

    sudo podman run --detach --name ${POSTGRESQL_CONTAINER_NAME} \
       --env POSTGRES_USER=${POSTGRESQL_USER} \
       --env POSTGRES_PASSWORD=${POSTGRESQL_PASSWORD} \
       --env POSTGRES_DB=${POSTGRESQL_DB} \
       --publish 5432:5432 \
       --volume /var/lib/pgsql/data:/var/lib/postgresql/data:Z \
       docker.io/library/postgres:latest
    

    注意:-volume 设置末尾的 :Z 允许此存储卷在启用 SELinux 的情况下使用。默认情况下,在 Oracle Linux 上启用 SELinux。

将 Trigram 模块添加到 PostgreSQL

(可选)使用 PostgreSQL 客户机

仅当上述可选步骤中安装了 Postgres 客户机软件包时,才能执行这些步骤。如果未安装这些软件包,请跳过此可选步骤。

  1. 连接到数据库。

    psql -h $(hostname -i) quay quayuser
    

    Password for user quayuser:quay-test,如上面的导出和容器创建中所定义。

  2. 创建触发模块。

    CREATE EXTENSION IF NOT EXISTS pg_trgm;
    

    输出示例:

    quay=# CREATE EXTENSION IF NOT EXISTS pg_trgm;
    CREATE EXTENSION
    
  3. 先键入 \q,然后键入 RETURN 键退出 PostgreSQL 客户机。

    \q
    

    输出示例:

    quay=# \q                                     
    [oracle@ol-server ~]$
    

直接在容器中运行

  1. 创建触发模块。

    sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    

    输出示例:

    [oracle@ol-server ~]$ sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    CREATE EXTENSION
    

验证 PostgreSQL 容器状态

  1. 确认数据库已启动。

    sudo podman ps
    

    输出示例:

    [oracle@ol-server ~]$ sudo podman ps
    CONTAINER ID  IMAGE                             COMMAND               CREATED         STATUS             PORTS                   NAMES
    1ec4a57b792d  docker.io/library/postgres:10.12  postgres              27 minutes ago  Up 26 minutes ago  0.0.0.0:5432->5432/tcp  postgresql
    
  2. 检查容器日志。

    sudo podman logs -f postgres
    

    注:使用 CTRL+C 返回命令提示符。

    输出示例:

    PostgreSQL init process complete; ready for start up.
    
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv6 address "::", port 5432
    2023-02-01 16:11:49.514 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    2023-02-01 16:11:49.524 UTC [64] LOG:  database system was shut down at 2023-02-01 16:11:49 UTC
    2023-02-01 16:11:49.528 UTC [1] LOG:  database system is ready to accept connections
    
  3. 确认 Postgres 容器的 IP 地址。记下它,因为以后需要它。

    sudo podman inspect -f "" postgres
    

    输出示例:

    [oracle@ol-server ~]$ sudo podman inspect -f "" postgres
    10.88.0.2
    

    下面显示了实现这一点的另一种方法。

    sudo podman inspect postgres | grep IPAddress
    

    输出示例:

    [oracle@ol-server ~]$ sudo podman inspect postgres | grep IPAddress
                "IPAddress": "10.88.0.2",
                             "IPAddress": "10.88.0.2",
    

    注:此处使用的名称 postgres 与上一个 Podman 命令中使用的 --name 变量用于创建 PostgreSQL 容器的名称匹配。

设置 Redis

项目测验需要 Redis 来存储临时信息。

  1. 为 Redis 容器数据存储创建目录。

    sudo mkdir -p /var/lib/redis
    
  2. 设置权限。

    sudo chmod 0755 /var/lib/redis
    
  3. 启动 Redis 容器。

    sudo podman run --detach --name redis \
                    --restart=always \
                    --publish 6379:6379 \
                    --privileged=true \
                    --volume /var/lib/redis:/var/lib/redis:Z \
                    docker.io/library/redis:latest
    
    
  4. 确认 Redis 容器正在运行。

    sudo podman ps
    
  5. 检查 Redis 容器的日志。

    sudo podman logs -f redis
    

    注:使用 CTRL+C 返回命令提示符。

  6. 确认 Redis 容器的 IP 地址。记下它,因为以后需要它。

    sudo podman inspect -f "" redis
    

配置项目查询

项目测验包括一个工具,用于提供设置 PostgreSQL 数据库和生成测验配置文件的详细信息。配置工具本身基于 Web,Quay 配置文件作为 tar/ziped YAML 文件生成,该文件在移到位后需要扩展。

  1. 启动项目测验 ConfigTool。

    sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    

    输出示例:

    [oracle@ol-server ~]$ sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    Trying to pull quay.io/projectquay/quay:latest...
    Getting image source signatures
    Copying blob ec924a250552 done  
    Copying blob fd07da1562ac done  
    Copying blob 3550ee360766 done  
    Copying blob b68865894b50 done  
    Copying blob ff46f0c54d73 done  
    Copying blob 88956768f1ec done  
    Copying blob 644b12ae1636 done  
    Copying blob 9661ced91a5f done  
    Copying config c1a4397f6e done  
    Writing manifest to image destination
    Storing signatures
    cc84cafcc5bdc41dacc86c22ba7d0d52d2bf02c0b1fca9aa59879942c7669f13
    
  2. 右键单击 Luna Desktop,然后选择 Open Terminal Here

  3. 在新打开的终端中,配置 SSH 隧道。

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    输出示例:

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    

    其中,8080 是 Luna Desktop 上打开到主机上的端口 80 的端口。端口 80 是 Project Quay 容器的外部映射端口。

  4. 在 Luna Desktop 中,打开新的浏览器会话并输入项目测验 ConfigTool 的 URL。

    http://localhost:8080
    

    输出示例:

    pgadmin-login

  5. 使用提供的值登录到 Quay 配置编辑器。

    • 用户名 - quayconfig
    • 口令 - secret-pass注: 这与启动 Quay 配置容器时传递的最后一个参数匹配。)

    输出示例:

    pgadmin-login

输入 Quay 配置信息

以下步骤涉及输入新详细信息,而另一些步骤则使用在设置 Postgres、Redis 等时前面步骤中收集/注意的一些信息。

  1. 如果登录后尚未显示,请向下滚动到“基本配置”部分。请注意,可以填充多个字段。

    • 注册表标题注册表标题短企业标识 URL联系人信息

    为了本练习/教程的目的,不会进行任何更改。

    输出示例:

    pgadmin-login

  2. 向下滚动到 Server Configuration(服务器配置)部分,输入服务器的主机名(如 /etc/hosts 文件中前面所示)。

    • 服务器主机名:ol-server.pub.linuxvirt.oraclevcn.com

    输出示例:

    pgadmin-login

  3. 接下来,向下滚动到名为数据库的部分。

    输出示例:

    pgadmin-login

  4. 单击名为数据库类型的字段旁边的下拉框。列出两个选项 -MySQLPostgres ,选择 Postgres

    注:选择 Postgres 的原因在于允许选项稍后选择 Clair 扫描工具,因为 Clair 扫描工具不适用于 MySQL Quay 数据库。

    输出示例:

    pgadmin-login

  5. 现在将显示特定于 Postgres 的字段,输入详细信息以允许访问 Postgres。

    • 数据库服务器:选择任一 -a) 输入 /etc/hosts 文件(必须使用 DNS 解析)中输入的 $HOSTNAME 或 FQDN) 或 b) 使用先前步骤中记录的容器 IP 地址(例如 - 10.88.0.2)
    • 用户名:quayuser
    • 口令:quay-test
    • 数据库名称:quay

    ** 注:所有这些值必须与启动 Postgres 容器时使用的值匹配(请参阅前面的内容),否则完全可配置用户。

    输出示例:

    pgadmin-login

  6. 继续向下滚动到 Redis 部分,输入早期 Redis 容器启动期间返回的 IP 地址。

    • Redis Hostname(Redis 主机名) - 选择 - a) 输入 /etc/hosts 文件(必须使用 DNS 解析)中输入的 $HOSTNAME 或 FQDN) 或 b) 使用先前步骤中记录的容器 IP 地址(例如 - 10.88.0.3)

    输出示例:

    pgadmin-login

  7. 请注意,浏览器屏幕底部有一个名为验证配置更改浮动对话框。

    输出示例:

    pgadmin-login

  8. 单击它可确认已满足项目测验服务器工作的最低要求。

    输出示例:

    pgadmin-login

  9. 单击该按钮可下载配置文件。确认文件 (quay-config.tar.gz) 已下载。

    注意:在实验室环境中,生成的配置文件将保存到 Luna Desktop 上的 ~/Downloads 目录中,该目录不在配置了 Quay 资料档案库的服务器上 )。

    输出示例:

    pgadmin-login

  10. 右键单击 Luna Desktop,然后选择 Open Terminal Here。在新打开的终端中,确认已下载配置文件。

    ls -lsa ~/Downloads
    

    输出示例:

    [luna.user@lunabox Desktop]$ ls -lsa ~/Downloads
    total 12
    0 drwx------. 2 luna.user luna.user   32 Feb  8 11:59 .
    8 drwx------. 1 luna.user luna.user 4096 Feb  8 11:59 ..
    4 -rw-rw-r--. 1 luna.user luna.user 1214 Feb  8 11:59 quay-config.tar.gz
    
  11. 将文件从 Luna Desktop 计算机移至正在配置和安装 Project Quay 的 ol-server 计算机。

    scp ~/Downloads/quay-config.tar.gz oracle@<ip_address_of_ol-server>:~
    

    重要提示:请注意,不要在上述命令末尾删除 :~。如果将其删除,则不会将任何内容复制到 ol-server 实例。

    输出示例:

    [luna.user@lunabox Downloads]$ scp quay-config.tar.gz oracle@129.159.195.234:~
    quay-config.tar.gz                            100% 1214    64.1KB/s   00:00
    
  12. 通过键入 exit 关闭用于复制 quay-config.tar.gz 文件的活动终端窗口。

  13. 切换到用于打开 SSH 隧道的终端窗口。

  14. 通过键入 CTRL-C 关闭 SSH 隧道。应终止 SSH 隧道会话。使终端窗口本身保持打开状态 - 在即将到来的步骤中将再次需要它。

    注意:由于连接到的容器会话已关闭,因此需要关闭 SSH 隧道会话。

  15. 切换到仍登录到 ol-server 的原始终端窗口,并检查 oracle 用户主目录中显示的 quay-config.tar.gz 文件。

    ls ~
    

    输出示例:

    [oracle@ol-server ~]$ ls ~
    quay-config.tar.gz
    
  16. 停止项目测验配置容器进程。

    sudo podman stop quay-config
    

    输出示例:

    [oracle@ol-server config]$ sudo podman stop quay-config
    WARN[0010] StopSignal SIGTERM failed to stop container quay-config in 10 seconds, resorting to SIGKILL 
    quay-config
    
  17. 确认 quay-config 容器已停止。

    sudo podman ps
    

准备开始测验

只要应用了正确的权限并且可以访问,就可以根据需要更改项目码 /config/storage 目录的实际位置。

  1. 使用连接到 ol-server 的原始终端窗口,创建用于存放项目测验配置的位置。

    mkdir -p ~/quay/config
    
  2. 创建项目测验可以存储其文物的位置。

    mkdir -p ~/quay/storage
    
  3. 将 Gzipping Tar 文件展开到 Quay 配置目录中。

    tar -xzvf quay-config.tar.gz -C ~/quay/config/
    
  4. 确认 YAML 配置文件存在。

    cat ~/quay/config/config.yaml
    
  5. 授予 root “读取”对 Project Quay config 目录的访问权限。

    sudo setfacl -R -m u:1001:r ~/quay/config
    
  6. 授予对 Project Quay storage 目录的 root “读取”、“写入”和“执行”访问权限。

    sudo setfacl -R -m u:1001:rwx ~/quay/storage
    

开始项目查询

  1. 启动 Project Quay 服务器。

    sudo podman run --name quay --restart=always --publish 443:8443 --publish 80:8080 --privileged=true --volume ~/quay/config:/conf/stack:Z --volume ~/quay/storage:/datastorage:Z --detach quay.io/projectquay/quay:latest
    
  2. 确认它已启动。

    sudo podman ps
    
  3. 检查项目测验日志 - 首次启动项目测验时,这至多需要 15-20 分钟。

    sudo podman logs -f quay
    
  4. 切换到先前用于配置 SSH 隧道的终端窗口,然后再次打开 SSH 隧道。

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    输出示例:

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    
  5. 在 Luna Desktop 上,打开一个新的浏览器窗口并连接到项目查询注册表登录屏幕。

    http://localhost:8080
    

    输出示例:

    pgadmin-login

    注:如果浏览器窗口返回错误消息(通常表示无法加载配置),则表示项目查询服务器仍在为此初始启动配置自身。请等待几分钟后重试。

创建新项目查询用户并登录

  1. 首先要做的就是创建一个新用户。在 "Quay Login" 屏幕上,单击名为 Create Account 的链接(位于 UsernamePassword 字段下方)。

    输出示例:

    pgadmin-login

  2. 此时将显示创建新账户页,输入以下信息。

    • 用户名 - 这将是 Quay Registry 中显示的用户名。
    • 电子邮件地址 - 这应该是有效的电子邮件地址(未在此实验室中用于验证)
    • 密码 - 输入密码(长度必须至少为 8 个字符)

    注:如果任何字段显示红色背景,则表示输入了意外或无效的值。绿色背景表示输入的值有效。

    输出示例:

    pgadmin-login

    重要提示: 此处介绍了如何创建超级用户超级用户是已授予扩展权限的普通用户,其中包括执行以下操作的功能。

    • 管理用户
    • 管理组织
    • 查询使用日志
    • 查看更改日志
  3. 当所有条目字段都具有绿色背景(请参见前面的屏幕截图)后,单击 Create Account 按钮。Project Quay 创建新账户并自动登录。

    (可选)确定是否根据个人选择或公司策略保存 usernamepassword 值。

    输出示例:

    pgadmin-login

  4. 项目 Quay 正在运行,第一个用户已登录。

    输出示例:

    pgadmin-login

创建新的项目查询注册表资料档案库

项目询问中的存储库通常与设置后将存储的容器映像(“推送”)相同。这使得以后从本地托管的容器注册表中查找容器映像变得更加清晰。但是,为了执行实验步骤,不需要遵守此要求,因此屏幕截图显示系统信息库名称为 _test01

  1. 单击创建新资料档案库链接(屏幕右上方),将显示创建新资料档案库屏幕。

    输出示例:

    pgadmin-login

  2. 完成所需的值。这些内容如下所示。

    • 资料档案库名称 - 资料档案库名称必须与 [a-z0-9][。a-z0-9-]*(/[a-z0-9][。a-z0-9-])注:大写字母无效)
    • Repostory Description- 这是可选的。
    • 根据预期目的,选择将资料档案库设为公共专用

    注: 资料档案库说明公共 / 专用设置都可以在以后更改

    输出示例:

    pgadmin-login

  3. 单击该按钮可创建新资料档案库。这将显示创建专用资料档案库Create_Public_Repository ,具体取决于在上一步中选择了哪个系统信息库类型。

    输出示例:

    pgadmin-login

  4. 此时将显示新创建的资料档案库。

    输出示例:

    pgadmin-login

    此时,项目查询注册表已启动,新用户已创建并登录。最后,已在容器注册表中创建新资料档案库。下一步是返回到命令行并将容器上载到此新创建的容器注册表。

使用项目查询

以下步骤演示了从外部注册表中提取映像,然后对映像标记,登录到新创建的项目查询注册表,然后最终将映像推送到新创建的 test01 系统信息库中。

注:由于未使用 SSL 证书配置项目的此安装,因此登录推送操作需要使用额外的标志 (--tls-verify=false),否则将失败。在生产环境中,应使用 --tls-verify=false 标志。

  1. 打开终端并通过 ssh 连接到 ol-server 实例(如果尚未连接)。

    ssh oracle@<ip_address_of_ol-server>
    
  2. 提取要在本地托管的项目查询注册表上存储的图像。

    podman pull quay.io/operator-framework/operatorhubio:v4
    

    输出示例:

    podman pull quay.io/operator-framework/operatorhubio:v4
    Trying to pull quay.io/operator-framework/operatorhubio:v4...
    Getting image source signatures
    Copying blob de07aeb713d7 done  
    Copying blob ef32bf2cb8c7 done  
    Copying blob bf5952930446 done  
    Copying blob 84807cd1a858 done  
    Copying blob 1e60e070fb81 done  
    Copying blob a42b61b64a1a done  
    Copying blob 4002c47008f9 done  
    Copying blob 44e6bcd92ca9 done  
    Copying blob f8baa3854da1 done  
    Copying blob c0ea348411ae done  
    Copying config 11fa238eb3 done  
    Writing manifest to image destination
    Storing signatures
    11fa238eb3e3aa3262cafd975a9ca787e4f0832cd369ce3d1cb1c9c70573f4be
    
  3. 使用目标的详细信息(新创建的项目测验注册表)标记下载的图像。使用的 tag 可以是任何首选值,在本示例中为 latest

    podman tag quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    其中 user01 是注册表中用户名的名称,test01 是注册表的名称。

  4. 登录到新创建的项目查询注册表和刚刚创建的存储库。

    podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    

    注:使用在前面的步骤中创建 Project Quay 用户时使用的用户名口令值。

    输出示例:

    [oracle@ol-server ~]$ podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    Username: user01
    Password: 
    Login Succeeded!
    
  5. 将图像推送到新创建的项目查询注册表。

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    输出示例:

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Getting image source signatures
    Copying blob 8d46fa734840 done  
    Copying blob c5350d986805 done  
    Copying blob 274132c050df done  
    Copying blob d0f104dc0a1f done  
    Copying blob 9d51489878a0 done  
    Copying blob ed6469d35467 done  
    Copying blob fa152f521d35 done  
    Copying blob b277d564135b done  
    Copying blob 5764184699a3 done  
    Copying blob 15d6d3b2e9e6 done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    
  6. 返回浏览器窗口并导航到以前创建的 user-1/test01 系统信息库的 Repository Tags 部分,将列出 ‘ tagged ’ 映像。

    输出示例:

    pgadmin-login

  7. 在能够测试是否可以从本地项目查询注册表中检索图像之前,必须删除本地副本。

    podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    输出示例:

    [oracle@ol-server config]$ podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Untagged: ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    
  8. 接下来,从本地托管的项目查询注册表提取图像,但这次。

    podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    输出示例:

    [oracle@ol-server config]$ podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Trying to pull ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest...
    Getting image source signatures
    Copying blob eacf9093f015 done  
    Copying blob d204dcb236ad done 
    Copying blob fcbc1d0b6248 done  
    Copying blob 5dd584b7c36d done  
    Copying blob 7940dd7814b2 done  
    Copying blob a06d838fcfaf done  
    Copying blob a783f1b4704a done  
    Copying blob 8875926a3ee5 done  
    Copying blob 622c87e26f84 done  
    Copying blob 2ec61b0ec8cf done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    76a6ea4d8064c26288fd07db817a683ca476b8ca64de07a2568e7acf53c78ded
    

    这将确认本地项目查询注册表能够存储容器映像,然后为其自己的系统信息库中存储这些映像。

后续步骤

这将完成此实验室,演示如何在 Podman 上安装和运行项目查询注册表。但是,项目测验还有许多其他特性和能力,这些特性和能力不在本实验室的范围内,如下所示。

有关详细信息,请参阅项目查询文档

与此同时,非常感谢你抽出时间来尝试这个实验室。

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心