国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

這篇具有很好參考價值的文章主要介紹了Ceph入門到精通-podman 入門實(shí)戰(zhàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

  • podman安裝
  • podman制作本地鏡像
  • podman(docker)命令回顧
  • podman快速入門

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

一入編程深似海,從此節(jié)操是路人。

最近使用podman,就想著寫一篇總結(jié)性的筆記,以備后續(xù)參考。就如同寫代碼,不寫注釋,過了一段時間可能會想這是我寫的嗎?不會吧,還要理一下邏輯才能讀懂,不利于后期維護(hù)。

感覺整體體驗(yàn)下來,鏡像獲取、容器創(chuàng)建、容器監(jiān)控、容器移除,和docker差不多,感覺可以作為替代品。

什么是podman?

Podman is a utility provided as part of the libpod library. It can be used to create and maintain containers. The following tutorial will teach you how to set up Podman and perform some basic commands.

大意是 podman 使用libpod庫提供的一部分,打造應(yīng)用程序。你可以使用podman創(chuàng)建容器、維護(hù)容器。

每個人使用環(huán)境可能不一樣,在介紹podman安裝與使用時,我想先介紹自己的環(huán)境。

個人使用環(huán)境

操作系統(tǒng):Linux發(fā)行版Centos9-stream。

容器環(huán)境:podman 4.2.0。

測試運(yùn)行服務(wù):Maven 構(gòu)建 Java web 應(yīng)用程序打包成 jar。

Linux-Centos9-stream使用podman(docker)制作本地鏡像,Maven構(gòu)建 jar 運(yùn)行并測試。

  1. 項(xiàng)目構(gòu)建(spring官網(wǎng) & 阿里云 腳手架構(gòu)架,IDE開發(fā)工具構(gòu)建)。
  2. 項(xiàng)目打包(maven 打包,mvn install)。
  3. 項(xiàng)目發(fā)布(上傳至服務(wù)器Linux 發(fā)行版Centos9-stream)。
  4. 制作本地鏡像(podman(docker) 容器制作鏡像)。

本文核心:主要介紹podman(docker)打包本地 jar 文件,制作鏡像運(yùn)行測試。

準(zhǔn)備

  • 本地環(huán)境:MySQL、JDK、Maven、jar包文件,用于測試。
  • 服務(wù)器環(huán)境:podman(docker)環(huán)境,openJDK。

如果沒有jar包環(huán)境,可以去spring官網(wǎng)和阿里云springboot腳手架官網(wǎng)在線構(gòu)建demo。
spring initializr:https://start.spring.io/
阿里云云原生應(yīng)用腳手架:https://start.aliyun.com/

cd demo
mvn install
scp -r target\demo-1.0.jar root@192.168.245.132:/opt/dkr/  

podman安裝

關(guān)于podman,支持Windows、MacOS與Linux發(fā)行版,可以前往github獲取更多版本安裝包(exe、zip、pkg、tar.gz、source),便于在網(wǎng)絡(luò)隔離情況下部署。如果網(wǎng)絡(luò)環(huán)境允許,可以使用操作系統(tǒng)支持的安裝工具進(jìn)行安裝,比如RHEL系列使用yum或者dnf管理工具,Debian與Ubuntu使用apt工具。

podman開源倉庫:GitHub - containers/podman: Podman: A tool for managing OCI containers and pods.

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

如果獲取資源緩慢,這是正?,F(xiàn)象,你可能需要加速一下,或者使用BT工具。

如果使用Linux發(fā)行版在線安裝,可以更換國內(nèi)鏡像源,比如阿里云、騰訊云、華為云。

1、安裝podman(docker)

yum install -y podman

在RHEL9中可以使用yum或者dnf命令安裝服務(wù)。

查看podman版本:podman -v

[root@Centos9-Stream demo]# podman -v
podman version 4.2.0

2、啟動podman

systemctl start podman

RHEL7以及以上推薦使用systemctl命令去管理服務(wù),使用service命令也是兼容的,用法有些區(qū)別。

設(shè)置開機(jī)自啟:systemctl enable podman

[root@Centos9-Stream ~]# systemctl enable podman
Created symlink /etc/systemd/system/default.target.wants/podman.service → /usr/lib/systemd/system/podman.service.
[root@Centos9-Stream ~]# systemctl status podman
○ podman.service - Podman API Service
     Loaded: loaded (/usr/lib/systemd/system/podman.service; enabled; vendor preset: disabled)
     Active: inactive (dead) since Sun 2023-02-26 16:56:43 CST; 2min 33s ago
...
2月 26 16:56:38 Centos9-Stream podman[3173]: time="2023-02-26T16:56:38+08:00" level=info msg="/usr/bin/podman filtering at log level info"
...
2月 26 16:56:43 Centos9-Stream systemd[1]: podman.service: Deactivated successfully.

使用命令 systemctl enable podman 設(shè)置podman服務(wù)開機(jī)自啟,查看pdoman狀態(tài):systemctl status podman,發(fā)現(xiàn)由 disabled 轉(zhuǎn)變成了enabled。如果不想開機(jī)自啟,可以使用禁用命令:systemctl disable podman。

podman制作本地鏡像

Dockerfile文件作用:個人理解,相當(dāng)于路標(biāo),通過相關(guān)命令去指引我們?nèi)绾吻斑M(jìn),構(gòu)建鏡像。

1、打包本地jar:新建Dockerfile文件

將上傳的 jar 文件復(fù)制到與Dockerfile同一目錄,比如我演示目錄在 /opt/dkr:

cp springboot-crud-0.0.1-SNAPSHOT.jar /opt/dkr/

創(chuàng)建Dockerfile文件:

touch Dockerfile

編輯Dockerfile文件:

vim Dockerfile

填充如下內(nèi)容:

 FROM openjdk:17
 MAINTAINER Fisher "dywangk@gmail.com"
 ADD springboot-crud-0.0.1-SNAPSHOT.jar crud-app.jar

FROM:從哪里獲取到 JDK 作為運(yùn)行 jar 包支撐環(huán)境,此處我獲取的是 openjdk17 與 springboot 指定 jdk 版本對應(yīng)上。
MAINTAINER:指定維護(hù)人??蛇x項(xiàng),可加可不加。
ADD:添加 jar 文件??梢允褂肅OPY替代。
RUN:顧名思義,運(yùn)行。運(yùn)行命令以及服務(wù),本次測試沒加上,在 podman build 時運(yùn)行。

2、打包本地jar作為鏡像

通過 podman build 命令構(gòu)建本地鏡像服務(wù)。

podman build -f Dockerfile -t springboot:crud-app.jar

查看images,注意對應(yīng)上IMAGE ID

[root@Centos9-Stream ~]# podman images
REPOSITORY                 TAG           IMAGE ID      CREATED       SIZE
none				       none			 4f7431dafa0a  2 hours ago   519 MB
docker.io/library/openjdk  17            5e28ba2b4cdb  9 months ago  475 MB

通過podman images命令查看images發(fā)現(xiàn)REPOSITORY和TAG是none,接下來會繼續(xù)介紹指定TAG。
注意:podman images 是列出本地存儲鏡像列表,相當(dāng)于 podman image list;podman image 是用于管理鏡像。

例如刪除鏡像:

podman image rm 4f7431dafa0a
podman image rm -f 4f7431dafa0a

3、指定tag

使用 podman tag 命令去添加標(biāo)簽名,tag 后面追加 IMAGE ID 以及本地打包好的鏡像。

podman tag 4f7431dafa0a srpingboot:crud-app.jar

再次查看images,發(fā)現(xiàn)REPOSITORY和TAG有內(nèi)容了。

[root@Centos9-Stream ~]# podman images
REPOSITORY                 TAG           IMAGE ID      CREATED       SIZE
localhost/srpingboot       crud-app.jar  4f7431dafa0a  2 hours ago   519 MB
docker.io/library/openjdk  17            5e28ba2b4cdb  9 months ago  475 MB

4、運(yùn)行jar服務(wù)

使用 podman run 命令啟動容器中的本地鏡像服務(wù)。-p 參數(shù),指定端口8082和傳輸協(xié)議TCP;--name 參數(shù),用于指定容器名稱;-it -d 參數(shù),用于將服務(wù)置于后臺;java -jar 參數(shù), 與平時本地環(huán)境直接啟動 java -jar服務(wù)是同樣地命令。

podman run -p 8082:8081/tcp --name crud -it -d localhost/srpingboot:crud-app java -jar crud-app.jar 

你可以再啟動一個服務(wù),端口映射到8088,注意,--name 取名不能重復(fù),示例如下:

podman run -p 8088:8081/tcp --name crud7 -it -d localhost/srpingboot:crud-app java -jar crud-app.jar 

查看運(yùn)行中的服務(wù),使用命令:podman ps

[root@Centos9-Stream dkr]# podman ps
CONTAINER ID  IMAGE                              COMMAND               CREATED      STATUS          PORTS                   NAMES
920899cf9aad  localhost/srpingboot:crud-app.jar  java -jar crud-ap...  2 hours ago  Up 2 hours ago  0.0.0.0:8082->8081/tcp  crud

將8081端口映射到8082上,訪問時使用端口是8082。

列出容器端口映射:podman port crud

[root@Centos9-Stream dkr]# podman port crud
8081/tcp -> 0.0.0.0:8082

例如:訪問接口,如果你沒有在controller層編寫任何代碼,訪問顯示的是404。當(dāng)然這些并不重要,只需要印證podman(docker)打包本地jar包正常運(yùn)行就足夠了。
http://192.168.245.132:8082/thymeleaf/findCity

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

5、查看日志
查看日志命令 podman logs,后面追加IMAGE ID:920899cf9aad,IMAGE ID理解為唯一值便于檢索。

podman logs 920899cf9aad

反饋結(jié)果

2023-02-13T12:56:21.113Z  INFO 1 --- [           main] com.example.Application                  : Started Application in 7.021 seconds (process running for 8.49)
...
2023-02-13T12:56:59.312Z  INFO 1 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
Hibernate: select c.Name, c.CountryCode from world.city c;

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

可以看到使用 JPA show-sql 打印出了自己指定的SQL語句:

select c.Name, c.CountryCode from world.city c;

6、停止容器

采用 podman stop 命令手動停止一個或多個容器:

podman stop crud

7、啟動容器

當(dāng)容器意外宕掉或者手動停止了,此時可以使用 podman start 啟動一個或多個容器:

podman start crud

8、監(jiān)控容器

查看(監(jiān)控)容器健康狀態(tài),主要分析CPU、內(nèi)存負(fù)載:podman stats,使用ctrl + c 退出。如下圖所示:

podman  stats

當(dāng)然,可以配合重定向輸出到日志文件:podman stats > podman-stats.log,初次已覆蓋形式;再次使用重定向輸出命令:podman stats >> podman-stats.log,采用追加形式。查看日志文件內(nèi)容,可以使用tail、cat、vim命令。

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

當(dāng)然,你還可以使用 podman top 查看容器負(fù)載,示例查看最新容器狀態(tài):

podman top -l

善用podman自帶幫助文檔,有一定基礎(chǔ)后這是最有效的方式,需要有一定閱讀英文文檔積累。

列出podman全部文檔提示,示例:

podman help
man podman

只查看 podman ps 幫助文檔,示例:

podman help ps
podman ps --help

Ceph入門到精通-podman 入門實(shí)戰(zhàn)

podman(docker)命令回顧

閑扯

開始使用,感覺命令太多,哎呀記不住,怎么辦?沒有捷徑可走,多敲幾遍,自然而然記住了。主要做札記,使用筆記本記錄,記錄過程也是思考的過程。分類整理,容器管理,容器內(nèi)鏡像管理。其次靠工作經(jīng)驗(yàn)以及平時積累總結(jié)出常用以及實(shí)用命令,熟悉后,使用podman自帶的幫助文檔提高工作效率

只停留在看和札記上,顯得很抽象,需要配合搭建環(huán)境去感受。運(yùn)用越多,實(shí)際工作中越有底氣。

回顧一下,制作本地鏡像使用到了哪些命令。你會發(fā)現(xiàn),自己實(shí)踐一遍,需要掌握哪些命令,用到的還不少。僅僅通過構(gòu)建本地鏡像到運(yùn)行,涉及到知識面有限,我并沒有介紹到容器初始化(init)、連接(attach)、內(nèi)容自動更新(auto-update)、提交(commit)、比對(diff)等等命令。

回顧命令

查看容器列表,正在運(yùn)行中的容器:podman ps

podman ps

啟動一個或者更多容器:podman start,示例啟動crud7

podman start crud7

停止一個或者更多容器:podman stop,示例停止crud7

podman stop crud7

查看(監(jiān)控)容器健康狀態(tài),示例:

podman  stats

從遠(yuǎn)程地址拉取鏡像:podman pull

查看 podman 版本命令:podman -v

從容器定義配置文件Dockerfile, 構(gòu)建自定義鏡像命令:podman build

給鏡像加上tag(標(biāo)簽名):podman tag

新的容器中運(yùn)行一條命令,比如我在文中運(yùn)行到 jar 服務(wù):podman run

管理鏡像:podman image

查看本地(已拉?。╃R像列表:podman images

移除一個或多個容器:podman rm ,根據(jù)容器ID移除。例如:

podman rm 03dd5a923f51

從本地存儲移除一個或多個鏡像:podman rmi

查看容器中運(yùn)行服務(wù)后的日志:podman logs

配合Linux中g(shù)rep、tail命令進(jìn)行檢索

podman logs cd57c4af7fb8 | grep 8081
podman logs cd57c4af7fb8 | tail -f

此處,我已知使用到了端口8081,直接匹配比較精確,也可以模糊一點(diǎn),只輸入80。使用 tail -f 命令,查看最近的10條信息。

列出容器端口映射:podman port ,示例,查找名稱為crud的容器:

podman port crud

搜索遠(yuǎn)程地址鏡像:podman search ,例如搜索 openjdk17:

podman search openjdk17

使用 podman 幫助文檔:podman help

使用幫助命令時候,同樣可以配合 grep 命令匹配已知的命令:

podman help  | grep images
podman help images

podman快速入門

podman提供了快速啟動,以 httpd 服務(wù)為示例:鏡像獲取、容器創(chuàng)建、容器監(jiān)控、容器移除。

快速入門,參考podman文檔

Getting Started with Podman

此處演示使用 podman 獲取 httpd(web中間件Apache服務(wù))。

搜索命令:podman search ,示例如下:

[root@Centos9-Stream kart]# podman search httpd --filter=is-official
NAME                     DESCRIPTION
docker.io/library/httpd  The Apache HTTP Server Project

獲取 httpd 服務(wù)

podman pull docker.io/library/httpd

列出所有鏡像列表

podman images

運(yùn)行容器

 podman run -dt -p 8080:80/tcp docker.io/library/httpd

獲取的是最新版,此處,你可能需要修改才能運(yùn)行:

podman run -dt -p 8080:80/tcp docker.io/library/httpd:latest

查詢正在運(yùn)行的容器:

podman ps

測試容器,訪問 httpd?:

http://localhost:8080/

或者使用 curl命令:

curl http://localhost:8080
<html><body><h1>It works!</h1></body></html>

看到頁面顯示:It works!?,代表測試運(yùn)行httpd服務(wù)成功。

監(jiān)控容器,示例:

podman top amazing_matsumoto

查看日志,指定容器NAME,示例:

podman logs amazing_matsumoto

停止容器,根據(jù)容器(CONTAINER)ID或者NAME都行。注意,如果沒有指定NAME,會生成隨機(jī)字符串。

示例根據(jù)NAME停止容器:

podman stop amazing_matsumoto

查出所有容器(包含退出的、創(chuàng)建的),示例:

podman ps -a

移除容器,示例:

podman rm amazing_matsumoto

通過管道符配合 grep 命令搜索,發(fā)現(xiàn)確實(shí)移除掉了,示例:

podman ps -a | grep amazing_matsumoto

基本命令文檔:可以下載文檔,包含:PDF、HTML、Epub三種格式。

Commands — Podman documentation

  • latest:最新版
  • stable:穩(wěn)定版
  • v4.3:歷史版本podman4.3

podman開源倉庫:GitHub - containers/podman: Podman: A tool for managing OCI containers and pods.

最后,希望對你的工作有所幫助,以上總結(jié)僅供參考!

靜下心來,才發(fā)現(xiàn)原來不會的還有很多。

一分耕耘,一分收獲。

多總結(jié),你會發(fā)現(xiàn),自己的知識寶庫越來越豐富。

——END——

養(yǎng)得胸中一種恬靜文章來源地址http://www.zghlxwxcb.cn/news/detail-423280.html

到了這里,關(guān)于Ceph入門到精通-podman 入門實(shí)戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ceph入門到精通-Ceph PG狀態(tài)詳細(xì)介紹(全)

    本文主要介紹PG的各個狀態(tài),以及ceph故障過程中PG狀態(tài)的轉(zhuǎn)變。 Ceph is still creating the placement group. Ceph 仍在創(chuàng)建PG。 activating The placement group is peered but not yet active. PG已經(jīng)互聯(lián),但是還沒有active。 active Ceph will process requests to the placement group. Ceph 可處理到此PG的請求。 clean Ceph re

    2024年02月14日
    瀏覽(21)
  • Ceph入門到精通-ceph故障處理 - osd down處理

    發(fā)現(xiàn)osd掉之后,我們首先要確認(rèn)是哪個主機(jī)的哪塊盤,來判斷是這個盤壞了還是什么原因 來看一下是哪兩塊 登錄對應(yīng)機(jī)器確認(rèn)下是哪塊盤 2.我們發(fā)現(xiàn)盤還在,首先嘗試能否重啟ceph-osd服務(wù) ,這里已經(jīng)拉起來了 3.如果重啟無望或者盤漂移,重新卸載安裝 3.1 看看日志 是不是有

    2024年02月01日
    瀏覽(18)
  • Ceph入門到精通-sysctl參數(shù)優(yōu)化

    sysctl.conf ?是一個文件,通常用于在 Linux 操作系統(tǒng)中配置內(nèi)核參數(shù)。這些參數(shù)可以控制網(wǎng)絡(luò)、文件系統(tǒng)、內(nèi)存管理等各方面的行為。 99-xx.yml ?可能是一個文件名,其中? 99- ?是一個特定的命名約定。在? sysctl.conf ?文件中,通常會有一個特定的順序來加載配置項(xiàng)。通常,以?

    2024年02月10日
    瀏覽(17)
  • Ceph入門到精通-創(chuàng)建存儲桶通知

    在存儲桶級別創(chuàng)建存儲桶通知。這些需要 與發(fā)送存儲桶通知的目標(biāo)一起發(fā)布。桶 通知是 S3 操作。 父主題: 存儲桶管理 運(yùn)行 IBM Storage Ceph 集群,帶有 Ceph Object Gateway。 正在運(yùn)行的 HTTP 服務(wù)器、RabbitMQ 服務(wù)器或 Kafka 服務(wù)器。 根級訪問。 用戶訪問密鑰和私有密鑰。 終結(jié)點(diǎn)參數(shù)

    2024年02月15日
    瀏覽(58)
  • Ceph入門到精通-Linux下Ceph源碼編譯和GDB調(diào)試

    Ceph版本:14.2.22 Linux版本:ubuntu-server 18.04 ? ? Ceph源碼是托管在Github上,由于某些原因,國內(nèi)訪問Github網(wǎng)站很慢,所以需要從其他途徑加速獲取源碼。Github官方給出了幾個Github的鏡像網(wǎng)站: https://github.com.cnpmjs.org/ https://hub.fastgit.org/ 本地需要修改~/.gitconfig文件,才可以從上面

    2024年02月12日
    瀏覽(21)
  • Ceph入門到精通-LVS基礎(chǔ)知識

    Ceph入門到精通-LVS基礎(chǔ)知識

    LB集群: ???(Load??Balancing)即負(fù)載均衡集群,其目的是為了提高訪問的并發(fā)量及提升服務(wù)器的性能,其 ???實(shí)現(xiàn)方式分為硬件方式和軟件方式。 ??硬件實(shí)現(xiàn)方式: ????????常用的有 F5公司的BIG-IP系列、A10公司的AX系列、Citrix公司的 NetScaler系列等 ??軟件實(shí)現(xiàn)方式: ??

    2024年02月11日
    瀏覽(22)
  • Ceph入門到精通-更換osd、擴(kuò)容osd

    1. 1 查看故障盤osd id 1.2 銷毀osd 1.3 更換故障硬盤 1.4 查看新硬盤盤符 1.5 擦除新硬盤 1.6 預(yù)備替換原osd 1.7 查看osd fsid 1.8 激活osd 3.1 停止所有osd服務(wù) 3.2 銷毀所有osd 3.3 擦除磁盤數(shù)據(jù) 3.4 清除crush數(shù)據(jù) 3.5 刪除osd應(yīng)用 4. 調(diào)整PG

    2024年02月19日
    瀏覽(19)
  • Ceph入門到精通-Nginx 大量請求 延遲優(yōu)化

    優(yōu)化nginx以處理大量請求并減少延遲可以通過以下幾種方法實(shí)現(xiàn): 調(diào)整worker_processes和worker_connections參數(shù):增加worker_processes值可以增加nginx的進(jìn)程數(shù)量,提高并發(fā)處理能力。增加worker_connections參數(shù)的值可以增加每個worker進(jìn)程可處理的連接數(shù),從而在請求高峰期更好地分配負(fù)載。

    2024年02月10日
    瀏覽(20)
  • Ceph入門到精通-Nginx超時參數(shù)分析設(shè)置

    Ceph入門到精通-Nginx超時參數(shù)分析設(shè)置

    nginx中有些超時設(shè)置,本文匯總了nginx中幾個超時設(shè)置 Nginx 中的超時設(shè)置包括: “client_body_timeout”:設(shè)置客戶端向服務(wù)器發(fā)送請求體的超時時間,單位為秒。 “client_header_timeout”:設(shè)置客戶端向服務(wù)器發(fā)送請求頭的超時時間,單位為秒。 “send_timeout”:設(shè)置服務(wù)器向客戶端

    2024年02月07日
    瀏覽(27)
  • Ceph入門到精通-OSD waring 設(shè)置建議

    以下檢查表明 OSD 節(jié)點(diǎn)存在問題。 1 在 /var/lib/ceph/osd 中找到的多個ceph_fsid值。 這可能意味著您正在托管許多集群的 OSD 此節(jié)點(diǎn)或某些 OSD 配置錯誤以加入 您期望的集群。 2 設(shè)置可能會導(dǎo)致數(shù)據(jù)丟失,因?yàn)槿绻?未達(dá)到最小值,Ceph 將不會確認(rèn)對客戶端的寫入。 osd?pool?default?

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包