久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    podman初試

     15所 2020-01-08

    podman初試-和docker對比

    1,什么是docker?

    Docker 是一個開源的應(yīng)用容器引擎,屬于 Linux 容器的一種封裝,Docker 提供簡單易用的容器使用接口,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上。容器是完全使用沙箱機制,相互之間不會有任何接口。

    2,什么是Podman?

    Podman 是一個開源的容器運行時項目,可在大多數(shù) Linux 平臺上使用。Podman 提供與 Docker 非常相似的功能。正如前面提到的那樣,它不需要在你的系統(tǒng)上運行任何守護進程,并且它也可以在沒有 root 權(quán)限的情況下運行。
    Podman 可以管理和運行任何符合 OCI(Open Container Initiative)規(guī)范的容器和容器鏡像。Podman 提供了一個與 Docker 兼容的命令行前端來管理 Docker 鏡像。

    1. Podman 官網(wǎng)地址:https:///
    2. Podman 項目地址:https://github.com/containers/libpod

    3,Podman 和docker不同之處?

    1. docker 需要在我們的系統(tǒng)上運行一個守護進程(docker daemon),而podman 不需要
    2. 啟動容器的方式不同:
      docker cli 命令通過API跟 Docker Engine(引擎)交互告訴它我想創(chuàng)建一個container,然后docker Engine才會調(diào)用OCI container runtime(runc)來啟動一個container。這代表container的process(進程)不會是Docker CLIchild process(子進程),而是Docker Enginechild process
      Podman是直接給OCI containner runtime(runc)進行交互來創(chuàng)建container的,所以container process直接是podmanchild process
    3. 因為docke有docker daemon,所以docker啟動的容器支持--restart策略,但是podman不支持,如果在k8s中就不存在這個問題,我們可以設(shè)置pod的重啟策略,在系統(tǒng)中我們可以采用編寫systemd服務(wù)來完成自啟動
    4. docker需要使用root用戶來創(chuàng)建容器,但是podman不需要

    4,podman的安裝

    4.1,Arch Linux & Manjaro Linux

    sudo pacman -S podman

    4.2,F(xiàn)edora,Centos

    sudo yum -y install podman

    4.3,Gentoo

    sudo emerge app-emulation/libpod

    4.4,MacOS

    brew cask install podman

    5,Podman CLI介紹

    Podman CLI 里面87%的指令都和DOcker CLI 相同,官方給出了這么個例子alias docker=podman,所以說經(jīng)常使用DOcker CLI的人使用podman上手非常快

    運行一個容器

    podman run -dt -p 80:80 --name nginx -v /data:/data -e NGINX_VERSION=1.16 nginx:1.16.0

    列出當前所有的容器

    # podman  ps -aCONTAINER ID  IMAGE                                       COMMAND               CREATED            STATUS             PORTS               NAMES19f105d5dc1e  docker.io/library/nginx:1.16.0              nginx -g daemon o...  2 minutes ago      Up 2 minutes ago   0.0.0.0:80->80/tcp  nginx

    查看一個鏡像信息

    # podman inspect nginx | grep -i 'ipaddress' 'SecondaryIPAddresses': null, 'IPAddress': '10.88.0.110',

    查看容器運行的日志

    podman logs   nginx

    查看運行中容器資源使用情況

    # podman top nginxUSER PID PPID %CPU ELAPSED TTY TIME COMMANDroot 1 0 0.000 5m26.420969043s pts/0 0s nginx: master process nginx -g daemon off;nginx 6 1 0.000 5m26.421085502s pts/0 0s nginx: worker process# podman stats nginxID NAME CPU % MEM USAGE / LIMIT MEM % NET IO BLOCK IO PIDS19f105d5dc1e nginx -- 2.036MB / 1.893GB 0.11% 978B / 10.55kB -- / -- 2

    遷移容器

    Podman 支持將容器從一臺機器遷移到另一臺機器。
    首先,在源機器上對容器設(shè)置檢查點,并將容器打包到指定位置。

    $ sudo podman container checkpoint <container_id> -e /tmp/checkpoint.tar.gz$ scp /tmp/checkpoint.tar.gz <destination_system>:/tmp

    其次,在目標機器上使用源機器上傳輸過來的打包文件對容器進行恢復(fù)。

    $ sudo podman container restore -i /tmp/checkpoint.tar.gz

    podman的程序如何設(shè)置自啟動

    由于 Podman 不再使用守護進程管理服務(wù),所以不能通過守護進程去實現(xiàn)自動重啟容器的功能。那如果要實現(xiàn)開機自動重啟容器,又該如何實現(xiàn)呢?
    其實方法很簡單,現(xiàn)在大多數(shù)系統(tǒng)都已經(jīng)采用 Systemd 作為守護進程管理工具。這里我們就可以使用 Systemd 來實現(xiàn) Podman 開機重啟容器,這里我們以剛才啟動的nginx為例。
    建立一個 Systemd 服務(wù)配置文件。

    $ vim /etc/systemd/system/nginx_podman.service[Unit]Description=Podman Nginx ServiceAfter=network.targetAfter=network-online.target[Service]Type=simpleExecStart=/usr/bin/podman start -a nginxExecStop=/usr/bin/podman stop -t 10 nginxRestart=always[Install]WantedBy=multi-user.target

    接下來,啟用這個 Systemd 服務(wù)

    $ sudo systemctl daemon-reload$ sudo systemctl enable nginx_podman.service$ sudo systemctl start nginx_podman.service

    之后每次系統(tǒng)重啟后 Systemd 都會自動啟動這個服務(wù)所對應(yīng)的容器,容器死亡之后也會啟動這個容器,我們可以用下面的例子做測試
    打一個sleep 30的docker包,這個容器運行起來一次只能堅持30s

    $ vim DockerfileFROM busybox:latestCMD ['sh','-c','sleep 30']

    然后按照上述方式設(shè)置啟動自啟動

    演示下Podman 下啟動的容器為Podman的子進程

    我們剛才啟動了一個nginx的podman 現(xiàn)在我們來看一下他的進程

    # ps -ef | grep [n]ginxroot 19368 19359 0 11:38 pts/0 00:00:00 nginx: master process nginx -g daemon off;101 19381 19368 0 11:38 pts/0 00:00:00 nginx: worker process

    然后查看這個nginx的父進程是那個

    # ps -ef | grep 19359root     19359     1  0 11:38 ?        00:00:00 /usr/libexec/podman/conmon 。。。。

    所以驗證了我上面的說法

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲 制服 丝袜 无码| 蜜桃视频一区二区在线观看| 免费A级毛片樱桃视频| 国产97人人超碰CAO蜜芽PROM| 内射口爆少妇麻豆| 精品人妻二区中文字幕| 亚洲午夜理论无码电影| 岛国岛国免费v片在线观看| 久久亚洲精品情侣| 亚洲成A人一区二区三区| 国产不卡精品视频男人的天堂 | 久久超碰色中文字幕超清| 97无码人妻福利免费公开在线视频 | 成人久久免费网站| 97夜夜澡人人爽人人模人人喊 | 久久精品不卡一区二区| 亚洲一卡2卡3卡4卡精品| 国内少妇人妻偷人精品| 成人无码影片精品久久久| 亚洲国产成人资源在线| 国产色视频一区二区三区| 另类 专区 欧美 制服| 成人小说亚洲一区二区三区| 狠狠爱五月丁香亚洲综| 性男女做视频观看网站 | 亚洲AV无码成人精品区| 97在线精品视频免费| 被拉到野外强要好爽| 亚洲一区二区三区无码中文字幕| 国产AV影片麻豆精品传媒| 人人妻人人狠人人爽| 国产精品福利自产拍在线观看| 午夜大片免费男女爽爽影院| 波多野结衣一区二区三区AV高清| 2020年最新国产精品正在播放| 国产在线精品无码二区二区 | AV区无码字幕中文色| 亚洲欧美人成网站在线观看看| 亚洲AV无码乱码在线观看牲色| 国产成人欧美日本在线观看| 亚洲成人av在线资源|