如何在 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive