成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用 Podman Compose 管理容器

系統 Linux
Docker 的一個缺點是它有一個中央守護進程,它以 root 用戶的身份運行,這對安全有影響。但這正是 Podman 的用武之地。Podman 是一個 無守護進程容器引擎,用于開發、管理和在你的 Linux 系統上以 root 或無 root 模式運行 OCI 容器。

 

[[381962]]

容器很棒,讓你可以將你的應用連同其依賴項一起打包,并在任何地方運行。從 2013 年的 Docker 開始,容器已經讓軟件開發者的生活變得更加輕松。

Docker 的一個缺點是它有一個中央守護進程,它以 root 用戶的身份運行,這對安全有影響。但這正是 Podman 的用武之地。Podman 是一個 無守護進程容器引擎,用于開發、管理和在你的 Linux 系統上以 root 或無 root 模式運行 OCI 容器。

下面這些文章可以用來了解更多關于 Podman 的信息:

如果你使用過 Docker,你很可能也知道 Docker Compose,它是一個用于編排多個可能相互依賴的容器的工具。要了解更多關于 Docker Compose 的信息,請看它的文檔

什么是 Podman Compose?

Podman Compose 項目的目標是作為 Docker Compose 的替代品,而不需要對 docker-compose.yaml 文件進行任何修改。由于 Podman Compose 使用吊艙pod 工作,所以最好看下“吊艙”的最新定義。

一個“吊艙pod ”(如一群鯨魚或豌豆莢)是由一個或多個容器組成的組,具有共享的存儲/網絡資源,以及如何運行容器的規范。

Pods - Kubernetes 文檔

(LCTT 譯注:容器技術領域大量使用了航海比喻,pod 一詞,意為“豆莢”,在航海領域指“吊艙” —— 均指盛裝多個物品的容器。常不翻譯,考慮前后文,可譯做“吊艙”。)

Podman Compose 的基本思想是,它選中 docker-compose.yaml 文件里面定義的服務,為每個服務創建一個容器。Docker Compose 和 Podman Compose 的一個主要區別是,Podman Compose 將整個項目的容器添加到一個單一的吊艙中,而且所有的容器共享同一個網絡。如你在例子中看到的,在創建容器時使用 --add-host 標志,它甚至用和 Docker Compose 一樣的方式命名容器。

安裝

Podman Compose 的完整安裝說明可以在項目頁面上找到,它有幾種方法。要安裝最新的開發版本,使用以下命令:

  1. pip3 install https://github.com/containers/podman-compose/archive/devel.tar.gz

確保你也安裝了 Podman,因為你也需要它。在 Fedora 上,使用下面的命令來安裝Podman:

  1. sudo dnf install podman

例子:用 Podman Compose 啟動一個 WordPress 網站

想象一下,你的 docker-compose.yaml 文件在一個叫 wpsite 的文件夾里。一個典型的 WordPress 網站的 docker-compose.yaml (或 docker-compose.yml) 文件是這樣的:

  1. version: "3.8"
  2. services:
  3. web:
  4. image: wordpress
  5. restart: always
  6. volumes:
  7. - wordpress:/var/www/html
  8. ports:
  9. - 8080:80
  10. environment:
  11. WORDPRESS_DB_HOST: db
  12. WORDPRESS_DB_USER: magazine
  13. WORDPRESS_DB_NAME: magazine
  14. WORDPRESS_DB_PASSWORD: 1maGazine!
  15. WORDPRESS_TABLE_PREFIX: cz
  16. WORDPRESS_DEBUG: 0
  17. depends_on:
  18. - db
  19. networks:
  20. - wpnet
  21. db:
  22. image: mariadb:10.5
  23. restart: always
  24. ports:
  25. - 6603:3306
  26.  
  27. volumes:
  28. - wpdbvol:/var/lib/mysql
  29.  
  30. environment:
  31. MYSQL_DATABASE: magazine
  32. MYSQL_USER: magazine
  33. MYSQL_PASSWORD: 1maGazine!
  34. MYSQL_ROOT_PASSWORD: 1maGazine!
  35. networks:
  36. - wpnet
  37. volumes:
  38. wordpress: {}
  39. wpdbvol: {}
  40.  
  41. networks:
  42. wpnet: {}

如果你用過 Docker,你就會知道你可運行 docker-compose up 來啟動這些服務。Docker Compose 會創建兩個名為 wpsite_web_1 和 wpsite_db_1 的容器,并將它們連接到一個名為 wpsite_wpnet 的網絡。

現在,看看當你在項目目錄下運行 podman-compose up 時會發生什么。首先,一個以執行命令的目錄命名的吊艙被創建。接下來,它尋找 YAML 文件中定義的任何名稱的卷,如果它們不存在,就創建卷。然后,在 YAML 文件的 services 部分列出的每個服務都會創建一個容器,并添加到吊艙中。

容器的命名與 Docker Compose 類似。例如,為你的 web 服務創建一個名為 wpsite_web_1 的容器。Podman Compose 還為每個命名的容器添加了 localhost 別名。之后,容器仍然可以通過名字互相解析,盡管它們并不像 Docker 那樣在一個橋接網絡上。要做到這一點,使用選項 -add-host。例如,-add-host web:localhost

請注意,docker-compose.yaml 包含了一個從主機 8080 端口到容器 80 端口的 Web 服務的端口轉發。現在你應該可以通過瀏覽器訪問新 WordPress 實例,地址為 http://localhost:8080

 

WordPress Dashboard

控制 pod 和容器

要查看正在運行的容器,使用 podman ps,它可以顯示 web 和數據庫容器以及吊艙中的基礎設施容器。

  1. CONTAINER ID  IMAGE                               COMMAND               CREATED      STATUS          PORTS                                         NAMES
  2. a364a8d7cec7  docker.io/library/wordpress:latest  apache2-foregroun...  2 hours ago  Up 2 hours ago  0.0.0.0:8080->80/tcp, 0.0.0.0:6603->3306/tcp  wpsite_web_1
  3. c447024aa104  docker.io/library/mariadb:10.5      mysqld                2 hours ago  Up 2 hours ago  0.0.0.0:8080->80/tcp, 0.0.0.0:6603->3306/tcp  wpsite_db_1
  4. 12b1e3418e3e  k8s.gcr.io/pause:3.2

你也可以驗證 Podman 已經為這個項目創建了一個吊艙,以你執行命令的文件夾命名。

  1. POD ID        NAME             STATUS    CREATED      INFRA ID      # OF CONTAINERS
  2. 8a08a3a7773e  wpsite           Degraded  2 hours ago  12b1e3418e3e  3

要停止容器,在另一個命令窗口中輸入以下命令:

  1. podman-compose down

你也可以通過停止和刪除吊艙來實現。這實質上是停止并移除所有的容器,然后再刪除包含的吊艙。所以,同樣的事情也可以通過這些命令來實現:

  1. podman pod stop podname
  2. podman pod rm podname

請注意,這不會刪除你在 docker-compose.yaml 中定義的卷。所以,你的 WordPress 網站的狀態被保存下來了,你可以通過運行這個命令來恢復它。

  1. podman-compose up

總之,如果你是一個 Podman 粉絲,并且用 Podman 做容器工作,你可以使用 Podman Compose 來管理你的開發和生產中的容器。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-09-22 16:21:43

開源GUI 應用

2015-12-30 14:50:45

Kubernetes容器技術Docker

2021-09-02 10:01:58

Spring 容器AOP

2021-05-17 12:54:04

AnsiblePodman開源

2023-11-28 13:50:00

Kubernetes容器

2019-01-11 13:57:06

2023-02-03 17:47:28

2022-01-18 17:57:21

PodmanLinux容器

2018-10-26 16:20:27

PodmanrootLinux

2023-11-02 08:45:07

2019-08-05 15:38:07

BitwardenPodman密碼管理器

2021-02-17 09:16:58

PodmanLinuxDocker

2010-02-01 16:17:22

無線交換機

2019-08-26 19:03:58

2019-08-26 19:24:55

Podman容器Linux

2017-07-17 16:27:10

Docker Comp鏈接容器

2014-07-07 09:49:13

UbuntuDocker

2025-03-21 08:30:00

容器管理開發開源

2021-07-25 10:34:17

FedoraPodmanLinux

2024-09-06 12:28:48

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线一 | 成人av在线网站 | 成人精品一区二区 | av天天看| 51ⅴ精品国产91久久久久久 | 欧美日韩精品中文字幕 | 国产精品久久在线 | 日韩精品久久一区 | 中文字幕成人av | 91免费入口 | 国产日韩一区二区三免费高清 | 黄色播放 | 亚洲免费成人av | 亚洲国产aⅴ精品 | 日本一区二区高清视频 | 日韩免费视频一区二区 | 一区二区三区四区毛片 | 欧美性极品xxxx做受 | 97日日碰人人模人人澡分享吧 | 2021天天躁夜夜看 | 欧美一级精品片在线看 | 你懂的国产 | 三级黄片毛片 | 夜夜艹 | 精品国产乱码久久久久久牛牛 | 欧美一级淫片免费视频黄 | 久久久久久成人网 | 成人国产精品一级毛片视频毛片 | 午夜影院在线观看 | 精品一区二区在线观看 | 91精品国产一区 | 天堂资源| 五月激情综合 | 国产精品一二三区 | 91免费小视频 | 成人妇女免费播放久久久 | 国产重口老太伦 | 国产一区二区三区久久久久久久久 | 亚洲欧美激情国产综合久久久 | 少妇一区二区三区 | 国产日韩精品一区 |