容器管理工具--podman

一、 容器基礎(chǔ)概述

  1. Linux中的容器是裝應(yīng)用的
  2. 容器就是將軟件打包成標準化單元,用于開發(fā)、交付和部署
  3. 容器技術(shù)已經(jīng)成為應(yīng)用程序封裝和交付的核心技術(shù)
    ? 優(yōu)點
    – 相比于傳統(tǒng)的虛擬化技術(shù),容器更加簡潔高效
    – 傳統(tǒng)虛擬機需要給每個VM安裝操作系統(tǒng)
    – 容器使用的共享公共庫和程序
    1.png

    2.png

    ? 鏡像是啟動容器的核心,鏡像由鏡像倉庫提供
    ? 在podman中容器是基于鏡像啟動的
    ? podman和容器的關(guān)系
    – podman是完整的一套容器管理系統(tǒng)
    – podman提供了一組命令,讓用戶更加方便直接地使用容器技術(shù),而不需要過多關(guān)心底層內(nèi)核技術(shù)

? podman所需環(huán)境
關(guān)閉所有虛擬機的SELinux
[root@rhel8 ~]# vim /etc/selinux/config
SELINUX=disabled
設(shè)置虛擬機的防火墻
[root@rhel8 ~]# yum -y remove firewalld
安裝容器軟件:
[root@localhost ~]# yum -y module install container-tools

獲取鏡像
?鏡像的名稱標識
–每一個鏡像都對應(yīng)唯一的鏡像 id
–鏡像名稱(姓氏) + 標簽(名字) = 唯一

–每一個鏡像都有標簽,如果沒寫就是默認標簽** latest**
–我們在調(diào)用鏡像的時候,如果沒有指定標簽也是 latest

?查找鏡像(需要能訪問互聯(lián)網(wǎng))

–podman search 關(guān)鍵字
podman search httpd

?下載鏡像(需要能訪問互聯(lián)網(wǎng))

–podman pull 鏡像名稱:標簽
podman pull localhost/myos:latest

?導(dǎo)入鏡像

–podman load -i 備份文件.tar.gz
podman load -i /root/httpd.tar.gz

二、使用容器

鏡像管理命令

?啟動容器
–podman run –選項 鏡像名稱:鏡像標簽 啟動命令
?查看容器
–podman ps [ -a 所有容器id ] [ -q 只顯示容器 id ]
?刪除容器
–podman rm 容器id
?容器管理命令啟動、停止、重啟
–podman start|stop|restart 容器id
?進入容器
–podman exec -it 容器id 啟動命令

?podman run 命令的選項

–選項 -i,交互式
–選項 -t,終端
–選項 -d,后臺運行
–選項 --name 容器名字

三、對外發(fā)布容器服務(wù)

?容器可以與宿主機的端口進行綁定
?從而把宿主機變成對應(yīng)的服務(wù),不用關(guān)心容器的IP地址
?我們使用 -p 參數(shù)把容器端口和宿主機端口綁定
?同一宿主機端口只能綁定一個容器服務(wù)
?-p [可選IP]:宿主機端口:容器端口
?例如:把宿主機變成 nginx
podman run -d -p 80:80 myos:nginx
容器放入后臺,端口綁定練習(xí)
]# podman run --name nsdweb -p 80:80 -d localhost/myos:httpd
[root@rhel8 ~]# podman ps -a

四、容器進階-容器共享卷

?podman容器不適合保存任何數(shù)據(jù)
?podman可以映射宿主機文件或目錄到容器中
–目標對象不存在就自動創(chuàng)建
–目標對象存在就直接覆蓋掉
–多個容器可以映射同一個目標對象來達到數(shù)據(jù)共享的目的
?啟動容器時,使用 -v 映射參數(shù)
podman run -d -v 宿主機對象:容器內(nèi)對象 鏡像名稱:標簽
]# podman run --name nsdweb -p 80:80 -v /webroot:/var/www/html -d localhost/myos:httpd

五、管理系統(tǒng)服務(wù)

?systemd一個更高效的系統(tǒng)&服務(wù)管理器
–開機服務(wù)并行啟動,各系統(tǒng)服務(wù)間的精確依賴
–服務(wù)目錄:/usr/lib/systemd/system/
–主要管理工具:systemctl

手動方式:
podman start nsdweb #啟動容器
podman stop nsdweb #停止容器
systemd方式:
systemctl start nsdweb #啟動容器
systemctl stop nsdweb #停止容器

systemd管理方式思路:
用戶--systemctl--》systemd--服務(wù)配置文件--》容器啟動
?管理員服務(wù)文件默認路徑
–/usr/lib/systemd/system/
?生成服務(wù)啟動配置文件
--files:生成文件類型
podman generate systemd --name 容器名 --files
?重新加載服務(wù)啟動配置文件
systemctl daemon-reload

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容