Linux中國

如何在 Fedora 上使用 Podman

Podman 是一個無守護程序的容器引擎,用於在你的 Linux 系統上開發、管理和運行 OCI 容器。在這篇文章中,我們將介紹 Podman 以及如何用 nodejs 構建一個小型應用來使用它。該應用將是非常簡單和乾淨的。

安裝 Podman

Podman 的命令就與 docker 相同,如果你已經安裝了 Docker,只需在終端輸入 alias docker=podman

在 Fedora 中,Podman 是默認安裝的。但是如果你因為任何原因沒有安裝,你可以用下面的命令安裝它:

sudo dnf install podman

對於 Fedora silverblue 用戶,Podman 已經安裝在你的操作系統中了。

安裝後,運行 「hello world」 鏡像,以確保一切正常:

podman pull hello-world
podman run hello-world

如果一切運行良好,你將在終端看到以下輸出:

Hello from Docker!
This message shows that your installation appears to be working correctly.
 To generate this message, Docker took the following steps:
  1.The Docker client contacted the Docker daemon.
  2.The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
  3.The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
  4.The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
 To try something more ambitious, you can run an Ubuntu container with:
  $ docker run -it ubuntu bash
 Share images, automate workflows, and more with a free Docker ID:
  https://hub.docker.com/
 For more examples and ideas, visit:
  https://docs.docker.com/get-started/

簡單的 Nodejs 應用

首先,我們將創建一個文件夾 webapp,在終端輸入以下命令:

mkdir webapp && cd webapp

現在創建文件 package.json,該文件包括項目運行所需的所有依賴項。在文件 package.json 中複製以下代碼:

{
       "dependencies": {
               "express": "*"
       },
       "scripts": {
               "start": "node index.js"
       }
}

創建文件 index.js,並在其中添加以下代碼:

const express = require('express')

const app = express();

app.get('/', (req, res)=> {
       res.send("Hello World!")
});
app.listen(8081, () => {
       console.log("Listing on port 8080");
});

你可以從 這裡 下載源代碼。

創建 Dockerfile

首先,創建一個名為 Dockerfile 的文件,並確保第一個字元是大寫,而不是小寫,然後在那裡添加以下代碼:

FROM node:alpine
WORKDIR usr/app
COPY ./ ./
RUN npm install
CMD ["npm", "start"]

確保你在 webapp 文件夾內,然後顯示鏡像,然後輸入以下命令:

podman build .

確保加了 .。鏡像將在你的機器上創建,你可以用以下命令顯示它:

podman images

最後一步是輸入以下命令在容器中運行該鏡像:

podman run -p 8080:8080 <image-name>

現在在你的瀏覽器中打開 localhost:8080,你會看到你的應用已經工作。

停止和刪除容器

使用 CTRL-C 退出容器,你可以使用容器 ID 來刪除容器。獲取 ID 並使用這些命令停止容器:

podman ps -a
podman stop <container_id>

你可以使用以下命令從你的機器上刪除鏡像:

podman rmi <image_id>

官方網站 上閱讀更多關於 Podman 和它如何工作的信息。

via: https://fedoramagazine.org/getting-started-with-podman-in-fedora/

作者:Yazan Monshed 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...