注意:
- 本教學課程位於 Oracle 提供的免費實驗室環境。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代為您雲端環境特定的值。
了解在 Podman 上安裝專案碼頭
簡介
Project Quay 是一種開放原始碼儲存區域,可用來儲存及管理用於雲端原生平台的使用者自建物件,例如容器。Project Quay 也提供其他功能,例如 (沒有特定順序):
- 登錄 - 高可用性
- 安全 - 漏洞掃描、記錄和稽核、通知和警示
- 存取控制 - 依據角色的存取控制 (RBAC)
- 整合 - OAuth 支援
- 組建自動化 - Git/GitHub/GitLab 整合
它可以使用操作員在 Kubernetes 叢集上部署,也可以作為 Podman 上的獨立容器或高可用性叢集。
目標
這個實驗室說明如何在 Podman 上安裝並執行 Project Quay,然後確認它是否正常運作。以下為主要步驟:
- 在 Podman 上安裝專案 Quay
- 驗證基本的 Quay 功能
注意:提供的步驟不包括如何使用憑證設定登錄。因此,建議用於非生產目的或內部 / 公平對應的環境。
需求
- 安裝 Oracle Linux 的系統
- 已安裝 Podman ('container-tools' 套件)
- 存取網際網路
Oracle Support 免責聲明
Oracle 不會針對下列指示所提供的步驟順序提供技術支援,因為這些步驟是指並非由 Oracle 提供的軟體程式和作業系統。本教學課程提供選擇性指示,僅供參考。
如需 Oracle 支援開發及使用 Podman 型服務的方法的詳細資訊,請參閱 https://docs.oracle.com/en/operating-systems/oracle-linux/podman/。
設定實驗室環境
注意:使用免費實驗室環境時,請參閱 Oracle Linux Lab Basics 以瞭解連線和其他用途指示。
-
開啟終端機,如果尚未連線,則透過 ssh 連線到 ol-server 執行處理。
ssh oracle@<ip_address_of_instance>
(選擇性) 確認 Podman 工作
Oracle Linux 中的容器工具套件提供最新的 Podman、Buildah、Skopeo 及相關相依性版本。
-
檢查 Podman 的版本。
podman -v
-
確認 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
設定網路
設定防火牆規則
編輯系統的防火牆規則,以開啟 Project Quay 所需的連接埠。
-
更新防火牆規則
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 位址。
-
檢查
/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 資料庫。設定並設定容器不需要此步驟。
-
安裝 PostgreSQL 用戶端。
sudo dnf -y install postgresql
設定專案 Quay 資料存放區
「專案查詢」使用資料庫來儲存描述資料。「使用 Postgres」為預設選項,用於此教學課程。使用者也可以使用 MySQL 作為替代選項,但是在此實驗室範圍之外。
-
建立資料庫容器資料儲存的目錄。
sudo mkdir -p /var/lib/pgsql/data
-
在資料儲存設定正確的權限。
sudo chmod 0755 /var/lib/pgsql/data
sudo setfacl -m u:26:-wx /var/lib/pgsql/data
-
定義環境變數。
這些定義用來啟動 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 規格值。
-
-
啟動
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 用戶端套裝軟體時,才能夠執行這些步驟。如果未安裝這些套裝軟體,請略過此可選步驟。
-
連線到資料庫。
psql -h $(hostname -i) quay quayuser
Password for user quayuser:
為quay-test
,如上述匯出與容器建立中所定義。 -
建立 trigram 模組。
CREATE EXTENSION IF NOT EXISTS pg_trgm;
範例輸出:
quay=# CREATE EXTENSION IF NOT EXISTS pg_trgm; CREATE EXTENSION
-
鍵入
\q
,然後鍵入RETURN
鍵來結束 PostgreSQL 用戶端。\q
範例輸出:
quay=# \q [oracle@ol-server ~]$
直接在容器中執行
-
建立 trigram 模組。
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 容器狀態
-
確認資料庫已啟動。
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
-
查看容器日誌。
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
-
確認 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
Project Quay 需要 Redis 來儲存臨時資訊。
-
為 Redis 容器資料儲存建立目錄。
sudo mkdir -p /var/lib/redis
-
設定權限。
sudo chmod 0755 /var/lib/redis
-
啟動 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
-
確認 Redis 容器正在執行中。
sudo podman ps
-
查看 Redis 容器的日誌。
sudo podman logs -f redis
注意:使用
CTRL+C
返回命令提示字元。 -
確認 Redis 容器的 IP 位址。請記下,因為稍後需要。
sudo podman inspect -f "" redis
設定專案 Quay
Project Quay 包含提供詳細資訊的工具,可設定 PostgreSQL 資料庫並產生 Quay 組態檔。組態工具本身是以 Web 為基礎,且「四射線」組態檔會產生為 tar/ 壓縮的 YAML 檔案,在移動位置後必須加以展開。
-
啟動 Project Quay 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
-
在 Luna Desktop 上按一下滑鼠右鍵,然後選取
Open Terminal Here
。 -
在新開啟的終端機中,設定 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 容器的外部對應連接埠。 -
從 Luna Desktop 開啟新的瀏覽器階段作業,並輸入 Project Quay ConfigTool 的 URL。
http://localhost:8080
範例輸出:
-
使用提供的值登入「Quay 組態」編輯器。
- 使用者名稱 -
quayconfig
- 密碼 -
secret-pass
( 注意:這與啟動 Quay 組態容器時傳送的最後一個參數相符)。
範例輸出:
- 使用者名稱 -
輸入 Quay 組態資訊
以下步驟涉及輸入新詳細資料,而其他步驟則使用較早步驟所收集 / 記載的一些資訊,同時設定 Postgres、Redis 等。
-
如果登入後沒有顯示,請向下捲動至基本組態區段。請注意,有數個可植入的欄位。
- 登錄標題、登錄標題簡稱、企業標誌 URL 及聯絡資訊
在此實驗室 / 教學課程中,將不會進行任何變更。
範例輸出:
-
向下捲動至 [ 伺服器配置 ] 區段,輸入伺服器的主機名稱 (如 /etc/hosts 檔案中所示)。
- 伺服器主機名稱:olt-server.pub.linuxvirt.oraclevcn.com
範例輸出:
-
接著,向下捲動至名為 Database 的區段。
範例輸出:
-
按一下資料庫類型 (Database Type) 欄位旁邊的下拉式方塊。列出兩個選項:MySQL 和 Postgres ,選取 Postgres 。
注意:選取 Postgres 的理由是允許日後選取 Clair 掃描工具,因為 Clair 掃描工具無法與 MySQL Quay 資料庫搭配使用。
範例輸出:
-
現在會顯示「張貼」特定欄位,輸入詳細資料以便存取「張貼」。
- 資料庫伺服器:選擇 - a) 輸入在
/etc/hosts
檔案中輸入的 $HOSTNAME 或 FQDN (必須使用 DNS 解析) 或 b) 使用先前步驟中記下的容器 IP 位址 (例如 - 10.88.0.2) - 使用者名稱:quayuser
- 密碼:quay-test
- 資料庫名稱:quay
** 注意:所有這些值都必須與啟動 Postgres 容器時使用的值相符 (請參閱先前版本),否則完全可供使用者設定。
範例輸出:
- 資料庫伺服器:選擇 - a) 輸入在
-
繼續向下捲動至 [Redis] (紅色) 區段,輸入稍早啟動 Redis 容器時所傳回的 IP 位址。
- Redis 主機名稱 - 請選擇 - a) 輸入在
/etc/hosts
檔案中輸入的 $HOSTNAME 或 FQDN (必須使用 DNS 解析) 或 b) 使用先前步驟中記下的容器 IP 位址 (例如 - 10.88.0.3)
範例輸出:
- Redis 主機名稱 - 請選擇 - a) 輸入在
-
請注意,在瀏覽器畫面底部有一個稱為驗證配置變更的浮動對話方塊。
範例輸出:
-
點選以確認專案系統的最低需求符合 。
範例輸出:
-
按一下按鈕即可下載組態檔。確認已下載檔案 (
quay-config.tar.gz
)。附註:在實驗室環境中,產生的組態檔會儲存至 Luna Desktop 的 ~/Downloads 目錄,而不會儲存在設定 Quay 儲存區域的伺服器上。
範例輸出:
-
在 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
-
將檔案從 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
-
輸入
exit
,關閉用來複製quay-config.tar.gz
檔案的作用中終端機視窗。 -
切換至用來開啟 SSH 通道的終端機視窗。
-
輸入
CTRL-C
以關閉 SSH 通道。SSH 通道階段作業應終止。保持終端機視窗本身開啟 - 即將到來的步驟需要再次開啟。附註:必須關閉 SSH 通道階段作業,因為連線的容器階段作業已經關閉。
-
切換至仍然登入
ol-server
的原始終端機視窗,然後檢查 oracle 使用者本位目錄中的quay-config.tar.gz
檔案。ls ~
範例輸出:
[oracle@ol-server ~]$ ls ~ quay-config.tar.gz
-
停止 Project Quay 組態容器處理作業。
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
-
確認
quay-config
容器已停止。sudo podman ps
準備啟動 Quay
只要套用了正確的權限並可供存取,即可視需要更改專案 Quay /config 與 /storage 目錄的實際位置。
-
使用連線到 ol-server 的原始終端機視窗,建立一個存放「專案系統閘」組態的位置。
mkdir -p ~/quay/config
-
建立一個位置,讓 Project Quay 能夠儲存其工藝品。
mkdir -p ~/quay/storage
-
將 Gzipped Tar 檔案展開至 Quay 組態目錄中。
tar -xzvf quay-config.tar.gz -C ~/quay/config/
-
確認 YAML 組態檔存在。
cat ~/quay/config/config.yaml
-
授予
root
'Read' 存取 Project Quayconfig
目錄。sudo setfacl -R -m u:1001:r ~/quay/config
-
授予
root
'Read'、'Write' 及 'Execute' 存取 Project Quaystorage
目錄。sudo setfacl -R -m u:1001:rwx ~/quay/storage
開始專案查詢
-
啟動 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
-
確認已啟動。
sudo podman ps
-
檢查「專案查詢」日誌 - 最多可能需要 15-20 分鐘才能完成第一次「專案查詢」啟動。
sudo podman logs -f quay
-
切換至先前用來設定 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
-
在 Luna Desktop 上開啟新的瀏覽器視窗,並連線至 Project Quay Registry 登入畫面。
http://localhost:8080
範例輸出:
注意:如果瀏覽器視窗傳回錯誤訊息 (通常表示無法載入組態),表示「專案查詢」伺服器仍在為此初始啟動設定本身。請稍候,並在幾分鐘後重試。
建立新專案提示使用者並登入
-
要做的第一件事就是建立新的使用者。在「Quay 登入」畫面中,按一下名為
Create Account
的連結 (在使用者名稱與密碼欄位下方)。範例輸出:
-
此時會顯示建立新帳戶頁面,並輸入下列資訊。
- 使用者名稱 - 這是「Quay 登錄」中顯示的使用者名稱。
- 電子郵件地址 - 這是有效的電子郵件地址 (不會用於此實驗室以進行驗證)
- 密碼 - 輸入密碼 (長度至少必須為 8 個字元)
備註:如果有任何欄位顯示紅色背景,表示輸入的值為非預期或無效。綠色背景表示輸入的值有效。
範例輸出:
重要事項:如何建立超級使用者記載於此處。超級使用者是具備擴充權限的一般使用者,其中包括執行下列動作的能力。
- 管理使用者
- 管理組織
- 查詢用途日誌
- 檢視變更日誌
-
一旦所有項目欄位都有綠色背景 (請參閱先前的螢幕擷取畫面),請按一下
Create Account
按鈕。Project Quay 會建立新的帳戶並自動登入。(選擇性) 決定是否要根據個人選擇或公司政策儲存 username 與 password 值。
範例輸出:
-
Project Quay 正在執行,且第一個使用者已登入。
範例輸出:
建立新專案查詢登錄儲存庫
Project Quay 中的儲存庫通常會命名為容器映像檔,而容器映像檔會在設定後儲存 ('push')。這使得之後從此本機代管的容器登錄檔尋找容器映像檔變得更加清晰。不過就實驗室步驟而言,不需遵守此規定,因此螢幕擷取畫面顯示儲存庫名稱為 _test01 的原因。
-
按一下建立新儲存區域連結 (畫面右上方),就會顯示建立新儲存區域畫面。
範例輸出:
-
完成必要的值。如下所示。
- 儲存庫名稱 - 儲存庫名稱必須符合 [a-z0-9][。a-z0-9-]* (/[a-z0-9][。a-z0-9-]) ( 注意:大寫字母無效)
- 轉售說明 - 這是選擇性的。
- 選擇讓儲存區域變成公用或專用 (視預期用途而定)。
備註: 儲存庫描述與公用 / 專用設定值可於稍後變更
範例輸出:
-
按一下此按鈕即可建立新儲存區域。這會顯示 Create Private Repository 或 Create_Public_Repository ,視上一個步驟中選取的儲存區域類型而定。
範例輸出:
-
將會顯示新建立的儲存區域。
範例輸出:
此時「專案查詢登錄」已啟動,新使用者已建立並登入。最後已在容器登錄內建立新的儲存區域。下一步是返回命令行,然後將容器上傳至此新建立的容器登錄。
使用專案提示
這些步驟示範從外部登錄擷取影像,然後標記影像、登入新建立的 Project Quay Registry,最後才將影像植入新建立的 test01 儲存區域。
注意:由於尚未使用 SSL 憑證設定此「專案查詢」安裝,因此登入和推播作業需要使用額外的旗標 (
--tls-verify=false
),否則它們將會失敗。在生產環境中,應該不要使用--tls-verify=false
旗標。
-
開啟終端機,如果尚未連線,則透過 ssh 連線到 ol-server 執行處理。
ssh oracle@<ip_address_of_ol-server>
-
提取要儲存在本機代管「專案查詢登錄」中的影像。
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
-
將下載的影像標記為目的地的詳細資訊 (新建立的「專案查詢登錄」)。使用的標記可以是任何偏好值 - 在此範例中為 'latest" 。
podman tag quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
其中
user01
是您在登錄中使用者名稱的名稱,而test01
是登錄的名稱。 -
登入新建立的 Project Quay Registry 與剛建立的儲存庫。
podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
備註:在先前步驟中建立「專案查詢」使用者時,請使用使用者名稱與密碼值。
範例輸出:
[oracle@ol-server ~]$ podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01 Username: user01 Password: Login Succeeded!
-
將影像推送至新建立的 Project Quay Registry。
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
-
返回瀏覽器視窗,然後瀏覽至先前建立之 user-1/test01 儲存區域的儲存庫標記區段,就會列出 'tagged' 映像檔。
範例輸出:
-
在能夠測試是否可以從本機 Project Quay Registry 擷取影像之前,必須先刪除本機複本。
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
-
下一步將映像檔提取,但這次是來自本機代管的 Project Quay Registry。
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
這可確認本機 Project Quay Registry 可以儲存並供其本身儲存區域內儲存的容器映像檔使用。
接下來的步驟
這完成了這個實驗室,示範如何在 Podman 上安裝和執行 Project Quay Registry。然而 Project Quay 已有許多超出此實驗室範圍的功能和能力,如下所示。
- 可透過 Podman 或 Kubernetes 部署以提供高可用性
- 可透過 Operator 或 Helm 在 Kubernetes 上部署
- 可與 OAuth 和電子郵件系統整合
- 支援儲存區域鏡像
- 可啟用 Clair 型映像檔安全掃描
- 支援 Dockerfile 組建
如需詳細資訊,請參閱專案報價文件。
同時,感謝花時間試用這個實驗室。
其他學習資源
探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。
如需產品文件,請造訪 Oracle Help Center 。
Learn to Install Project Quay on Podman
F78010-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.