<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      手把手教你用 Docker 部署 Red Hat UBI8 鏡像

      一、Red Hat UBI8 簡介

      Red Hat UBI8(Universal Base Image 8,通用基礎鏡像)是 Red Hat 官方設計并維護的容器基礎層,專門用來承載你的容器化應用、中間件(如 Tomcat、MySQL)和各類工具——簡單說,它就像容器世界里的“操作系統底層”,所有需要容器化運行的程序,都可以把 UBI8 當作“地基”來搭建。

      從實際使用角度,UBI8 有幾個核心價值,不管是初學者還是企業級工程師都得了解:

      • 免費可分發:不用花錢就能下載、使用,還能基于它二次打包自己的應用鏡像,不用擔心版權問題;
      • 官方維護+定期更新:Red Hat 團隊會持續給 UBI8 打安全補丁、更新系統庫,比自己找的第三方基礎鏡像(如隨意找的 CentOS 鏡像)更穩定、安全;
      • 企業級兼容性:作為 Red Hat 生態的一部分,UBI8 能完美適配 Red Hat 旗下產品(如 OpenShift、RHEL),同時也兼容絕大多數 Linux 容器化應用,不會出現“應用在其他基礎鏡像能跑,在 UBI8 跑不了”的情況;
      • 輕量且精簡:相比完整的 RHEL 系統鏡像,UBI8 只保留了容器運行必需的組件,體積更小,啟動更快,適合部署在服務器、云平臺等各種環境。

      簡單總結:如果你需要一個“靠譜、安全、能長期用”的容器基礎鏡像,尤其是企業級場景(比如部署核心業務應用),UBI8 是首選之一。

      二、準備工作:先裝 Docker

      如果你的 Linux 服務器還沒裝 Docker 和 Docker Compose,直接用下面的一鍵腳本——支持 CentOS、Ubuntu、Debian 等絕大多數發行版,還能自動配置軒轅鏡像加速源(拉取 UBI8 更快),不用手動改配置,新手也能一步到位:

      bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
      

      執行完腳本后,輸入 docker --versiondocker compose --version,能看到版本號就說明裝好了。

      三、找到并拉取 Red Hat UBI8 鏡像

      我們用“軒轅鏡像”來拉取 UBI8(地址:https://xuanyuan.cloud/r/redhat/ubi8 ),這個源在國內訪問更快,還提供多種拉取方式,按需選就行。

      3.1 先看鏡像信息(可選,了解細節)

      打開上面的軒轅鏡像鏈接,頁面里會顯示 UBI8 的最新版本、鏡像大小、更新時間,還有不同架構(如 amd64、arm64)的拉取命令,高級工程師可以根據服務器架構選擇對應版本,初學者直接用默認的 latest 版本就行。

      3.2 拉取 UBI8 鏡像(4種方式,推薦第3種)

      方式1:軒轅鏡像登錄驗證拉取(適合需要鏡像權限的場景)

      如果你的團隊配置了軒轅鏡像的登錄權限,用這個命令:

      docker pull docker.xuanyuan.run/redhat/ubi8:latest
      

      “latest”是鏡像的最新版本標簽,如果你需要指定版本(比如 8.9),把“latest”換成具體版本號就行(如 docker.xuanyuan.run/redhat/ubi8:8.9)。

      方式2:拉取后改名(方便后續使用)

      有些時候,拉取的鏡像名太長(比如帶“docker.xuanyuan.run”前綴),后續啟動容器時命令不方便記,可以拉取后改個短名字:

      # 先拉取鏡像
      docker pull docker.xuanyuan.run/redhat/ubi8:latest \
      # 改名為“redhat/ubi8:latest”(官方標準名)
      && docker tag docker.xuanyuan.run/redhat/ubi8:latest redhat/ubi8:latest \
      # 刪除原來的長名鏡像,避免占存儲空間
      && docker rmi docker.xuanyuan.run/redhat/ubi8:latest
      

      解釋下這三個命令:

      • docker pull:從軒轅鏡像源下載鏡像;
      • docker tag:給鏡像加一個新標簽(相當于“別名”),不改變鏡像本身;
      • docker rmi:刪除原來的標簽(不是刪鏡像文件),釋放標簽占用的資源。

      方式3:免登錄拉取(推薦!新手直接用)

      不用注冊賬號,不用輸密碼,直接拉取,速度還快,適合大多數場景:

      # 基礎拉取命令
      docker pull xxx.xuanyuan.run/redhat/ubi8:latest
      
      # 帶改名的完整命令(推薦,后續用著方便)
      docker pull xxx.xuanyuan.run/redhat/ubi8:latest \
      && docker tag xxx.xuanyuan.run/redhat/ubi8:latest redhat/ubi8:latest \
      && docker rmi xxx.xuanyuan.run/redhat/ubi8:latest
      

      這個方式的鏡像內容和“docker.xuanyuan.run”源完全一樣,只是拉取地址不用登錄,新手不用糾結權限問題。

      方式4:官方直連拉取(適合能訪問 Docker Hub 的環境)

      如果你的服務器能直接連 Docker Hub(比如海外服務器),或者已經配置了軒轅鏡像加速器(前面的一鍵腳本已經配了),可以直接拉 Red Hat 官方鏡像:

      docker pull redhat/ubi8:latest
      

      3.3 驗證鏡像是否拉取成功

      不管用哪種方式,拉完后執行這個命令檢查:

      docker images
      

      如果輸出里有類似下面的內容,說明拉取成功了:

      REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
      redhat/ubi8         latest    7f88b8111111   3 days ago     235MB
      

      四、部署 UBI8 容器(3種場景,按需選)

      UBI8 是基礎鏡像,部署時要根據你的需求選方案——比如測試用就簡單啟動,實際項目要持久化數據,企業級場景用 Compose 管理。

      4.1 快速部署(測試/臨時使用,適合新手)

      如果只是想先“用起來”UBI8,比如測試基礎環境是否正常,用這個命令:

      # 啟動 UBI8 容器,命名為“ubi8-test”
      docker run -d -it --name ubi8-test redhat/ubi8:latest /bin/bash
      

      命令參數解釋(新手必看):

      • -d:讓容器在后臺運行(不會占用當前終端);
      • -it:啟用交互式終端(因為 UBI8 默認沒有前臺進程,不加這個容器會啟動后立即退出);
      • --name ubi8-test:給容器起個名字“ubi8-test”,后續停止、重啟容器時直接用這個名字,不用記長 ID;
      • /bin/bash:容器啟動后執行的命令(啟動 Bash 終端,保持容器運行)。

      怎么用這個測試容器?

      進入容器內部操作(比如查看系統版本、安裝工具):

      # 進入“ubi8-test”容器的 Bash 終端
      docker exec -it ubi8-test bash
      

      進去后可以試幾個命令,比如:

      • 查看系統版本:cat /etc/redhat-release(會顯示“Red Hat Enterprise Linux release 8.x”);
      • 安裝簡單工具(如 wget):microdnf install wget -y(UBI8 用 microdnf 代替 yum,更輕量);
      • 退出容器:輸入 exit 就行,容器還會在后臺運行。

      4.2 掛載目錄部署(實際項目用,持久化數據)

      測試完后,實際項目里用 UBI8,必須做“數據持久化”——比如容器里的配置文件、日志、業務數據,要存在宿主機(你的服務器)上,不然容器刪了數據就沒了。

      步驟1:在宿主機創建掛載目錄

      先在服務器上建幾個目錄,用來存 UBI8 容器的配置、日志和數據:

      # 一次性創建 3 個目錄(conf:配置,logs:日志,data:數據)
      mkdir -p /data/ubi8/{conf,logs,data}
      

      “/data/ubi8”是宿主機上的目錄路徑,你可以改成自己習慣的路徑(比如 /opt/ubi8),只要后續命令對應上就行。

      步驟2:啟動容器并掛載目錄

      docker run -d -it --name ubi8-prod \
        # 掛載宿主機目錄到容器內(格式:宿主機路徑:容器內路徑)
        -v /data/ubi8/conf:/etc/ubi8/conf \
        -v /data/ubi8/logs:/var/log/ubi8 \
        -v /data/ubi8/data:/opt/ubi8/data \
        # (可選)設置時區,避免容器內時間和宿主機不一致
        -e TZ=Asia/Shanghai \
        redhat/ubi8:latest /bin/bash
      

      目錄掛載說明(清晰對應,不怕搞混):

      宿主機目錄 容器內目錄 用途說明
      /data/ubi8/conf /etc/ubi8/conf 存容器的配置文件(如后續部署應用的配置)
      /data/ubi8/logs /var/log/ubi8 存容器的日志文件(方便在宿主機查看日志)
      /data/ubi8/data /opt/ubi8/data 存業務數據(如數據庫文件、緩存文件)

      怎么驗證掛載生效?

      在宿主機的 data 目錄下寫個文件,看容器里能不能讀到:

      1. 宿主機執行:echo "UBI8 持久化測試" > /data/ubi8/data/test.txt
      2. 進入容器:docker exec -it ubi8-prod bash
      3. 容器內查看:cat /opt/ubi8/data/test.txt,能看到“UBI8 持久化測試”就說明掛載成功了。

      4.3 Docker Compose 部署(企業級場景,適合高級工程師)

      如果你的項目里有多個容器(比如 UBI8 上部署了 Java 應用,還要連 MySQL 容器),用 Docker Compose 能統一管理所有容器的配置,一鍵啟動/停止,不用記一堆命令。

      步驟1:創建 docker-compose.yml 文件

      在服務器上找個目錄(比如 /opt/ubi8-compose),創建 docker-compose.yml 文件:

      version: '3.8'  # Compose 語法版本,3.8 兼容大多數 Docker 版本
      services:
        # 定義 UBI8 服務,名稱叫“ubi8-service”
        ubi8-service:
          image: redhat/ubi8:latest  # 使用的 UBI8 鏡像
          container_name: ubi8-enterprise  # 容器名稱
          restart: always  # 容器意外退出后自動重啟(保障服務不中斷)
          tty: true  # 保持終端運行(類似 -t 參數,避免容器退出)
          stdin_open: true  # 啟用標準輸入(類似 -i 參數)
          environment:
            - TZ=Asia/Shanghai  # 設置時區
            # (可選)添加其他環境變量,比如應用的配置參數
            # - APP_ENV=production
          volumes:
            # 掛載目錄,和前面的“掛載目錄部署”對應
            - ./conf:/etc/ubi8/conf
            - ./logs:/var/log/ubi8
            - ./data:/opt/ubi8/data
          # (可選)暴露端口,如果 UBI8 上部署了 Web 應用,需要映射端口
          # ports:
          #   - "8080:8080"  # 宿主機 8080 端口映射到容器 8080 端口
      

      步驟2:啟動服務

      1. 進入 docker-compose.yml 所在的目錄(比如 /opt/ubi8-compose);
      2. 執行啟動命令:
      # 后臺啟動所有服務(-d 表示后臺運行)
      docker compose up -d
      

      常用 Compose 命令(高級工程師必備):

      • 停止服務:docker compose down(不會刪掛載的數據,放心用);
      • 查看服務狀態:docker compose ps(看容器是否在運行);
      • 查看容器日志:docker compose logs ubi8-service(只看 UBI8 容器的日志);
      • 重啟服務:docker compose restart ubi8-service

      第三步:驗證 UBI8 容器是否正常運行

      不管用哪種部署方式,都要確認容器沒問題,這幾步必做:

      1. 查看容器狀態

      docker ps | grep ubi8
      

      如果輸出里的“STATUS”列顯示“Up”(比如“Up 5 minutes”),說明容器在正常運行。

      2. 檢查容器內環境

      進入容器,執行基本命令,確認系統和工具正常:

      # 進入容器
      docker exec -it 容器名 bash  # 容器名是你起的,比如 ubi8-test、ubi8-prod
      
      # 容器內執行以下命令,驗證環境
      cat /etc/redhat-release  # 看系統版本,確認是 UBI8
      microdnf --version       # 看包管理工具是否正常
      date                     # 看時間是否和宿主機一致(如果設了時區)
      

      3. 驗證持久化(針對掛載目錄部署)

      前面已經講過,這里再補一個場景:在容器內寫文件,宿主機查看——確保數據雙向同步:

      1. 容器內執行:echo "企業級數據測試" > /opt/ubi8/data/enterprise.txt
      2. 宿主機執行:cat /data/ubi8/data/enterprise.txt(路徑對應你掛載的宿主機目錄),能看到內容就沒問題。

      常見問題(踩過的坑都在這了)

      1. 拉取鏡像失敗,提示“network error”或“timeout”?

      • 原因:網絡不好,或者鏡像源沒配置對;
      • 解決:用前面的“免登錄拉取”方式(xxx.xuanyuan.run 源),或者重新執行 Docker 一鍵安裝腳本(會自動配置軒轅加速源)。

      2. 容器啟動后立即退出,STATUS 顯示“Exited”?

      • 原因:UBI8 是基礎鏡像,沒有默認的前臺進程,沒加 -ittty: true 參數;
      • 解決:
        • 快速部署:加 -it 參數(參考 4.1 的命令);
        • Compose 部署:確保 docker-compose.yml 里有 tty: truestdin_open: true(參考 4.3 的配置)。

      3. 容器內用 microdnf 安裝軟件,提示“no package available”?

      • 原因:UBI8 的默認軟件源可能沒包含某些工具,或者需要更新源;
      • 解決:先更新源,再安裝:
      # 容器內執行
      microdnf update -y  # 更新軟件源緩存
      microdnf install 軟件名 -y  # 比如 install wget -y、install vim -y
      

      4. 掛載目錄時,提示“permission denied”(權限不足)?

      • 原因:宿主機目錄的權限太低,容器內用戶(默認是 root)沒權限讀寫;
      • 解決:給宿主機的掛載目錄加權限:
      # 宿主機執行,替換成你的目錄路徑
      chmod -R 755 /data/ubi8
      # 或者給目錄改所有者(和容器內用戶一致,默認是 root)
      chown -R root:root /data/ubi8
      

      5. 容器內時間和宿主機不一致?

      • 原因:沒設置時區,容器用默認的 UTC 時間;
      • 解決:
        • 啟動時加環境變量:-e TZ=Asia/Shanghai(參考 4.2 的命令);
        • Compose 部署:在 environment 里加 - TZ=Asia/Shanghai(參考 4.3 的配置)。

      結尾:UBI8 后續怎么用?

      UBI8 本身是基礎鏡像,不是“應用”,部署完后,你可以基于它做這些事:

      • 新手:練習 Linux 命令(容器里操作,不怕搞壞宿主機);
      • 開發:打包自己的應用(比如把 Java 項目、Python 項目放到 UBI8 里,做成新鏡像);
      • 企業級:部署中間件(如在 UBI8 上裝 Nginx、Redis、PostgreSQL,用 Compose 管理)。

      如果后續遇到問題,優先看容器日志(docker logs 容器名),大多數問題能從日志里找到原因;也可以參考 Red Hat 官方文檔(https://access.redhat.com/documentation/en-us/red_hat_universal_base_image/8 ),里面有更詳細的 UBI8 用法。

      從快速測試到企業級部署,這篇教程覆蓋了所有關鍵步驟,跟著做就能把 UBI8 用起來——新手先練熟“快速部署”和“掛載目錄”,高級工程師可以重點研究 Compose 配置和鏡像二次打包,按需進階就行。

      posted @ 2025-10-30 09:35  源碼舞動  閱讀(13)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产成人无码影片在线播放| 国产成人精品视频不卡| 国产精品SM捆绑调教视频| 婷婷色香五月综合缴缴情香蕉 | 亚洲色欲在线播放一区二区三区| 国产女人18毛片水真多1| 人妻性奴波多野结衣无码| 欧美巨大极度另类| 国产女同疯狂作爱系列| 亚洲天堂在线免费| 国产精品免费中文字幕| 亚洲区成人综合一区二区| 毛片无遮挡高清免费| 国产情侣激情在线对白| 四虎永久在线精品免费看| 99精品国产一区二区三区不卡| 丰满岳乱妇久久久| 亚洲色大成网站WWW久久| 黑人好猛厉害爽受不了好大撑| 无码中文av波多野结衣一区| 国产成人高清精品亚洲| 潼南县| 国产精品一品二区三区日韩| gogo无码大胆啪啪艺术| 亚洲午夜精品国产电影在线观看| 熟女视频一区二区三区嫩草| 少妇被黑人到高潮喷出白浆| 国产精品乱子乱xxxx| 国产裸体无遮挡免费精品| 精品国偷自产在线视频99| 镇宁| 久久美女夜夜骚骚免费视频| 忘忧草www日本韩国| 深夜在线观看免费av| 精品免费看国产一区二区| 国产午夜福利视频一区二区| 成人欧美日韩一区二区三区| 精品尤物国产尤物在线看 | 国产精品美女一区二区三| 又大又紧又粉嫩18p少妇| 色综合久久精品中文字幕|