如果您喜欢{Linux265},请告诉您身边的朋友,谢谢! 首页 > 资讯 > 使用 Podman 以非 root 用户身份运行 Linux 容器

使用 Podman 以非 root 用户身份运行 Linux 容器

来源:linux265.com 发布时间:2018-10-16
179

使用 Podman 以非 root 用户身份运行 Linux 容器使用 Podman 以非 root 用户身份运行 Linux 容器

Linux容器是具有Linux内核提供的某些隔离功能的进程 - 包括文件系统,进程和网络隔离。 容器有助于实现可移植性 - 应用程序可以在容器映像中与其依赖项一起分发,并且几乎可以在任何具有容器运行时的Linux系统上运行。

虽然容器技术存在很长时间,但Linux容器已经被 Docker 广泛推广。 "Docker" 这个词可以指几个不同的东西,包括容器技术和工具,周围的社区,或者Docker Inc.公司。 但是,在本文中,我将使用它来引用管理Linux容器的技术和工具。

什么是 Docker ?

Docker 是一个以root身份在您的系统上运行的守护程序,它通过利用Linux内核的功能来管理运行容器。 除了运行容器之外,它还可以轻松管理容器映像 - 与容器注册表交互,存储映像,管理容器版本等。它基本上支持运行单个容器所需的所有操作。

但即使Docker是管理Linux容器的一个非常方便的工具,它有两个缺点:它是一个需要在你的系统上运行的守护进程,它需要以root权限运行,这可能具有一定的安全隐患。 然而,Podman正在解决这两个问题。

Podman 介绍

Podman 是一个容器运行环境,提供与Docker非常相似的功能。 正如已经暗示的那样,它不需要在您的系统上运行任何守护进程,并且它也可以在没有root权限的情况下运行。 让我们看看使用Podman运行Linux容器的一些示例。

用Podman运行容器

其中一个最简单的例子可能是运行Fedora容器,在命令行中打印"Hello world!":

$ podman run --rm -it fedora:28 echo "Hello world!"

使用通用Dockerfile构建映像的工作方式与Docker相同:

$ cat Dockerfile
FROM fedora:28
RUN dnf -y install cowsay

$ podman build . -t hello-world
... output omitted ...

$ podman run --rm -it hello-world cowsay "Hello!"

为了构建容器,Podman在后台调用另一个名为Buildah的工具。 您可以阅读有关使用Buildah构建容器映像的文章 - 而不仅仅是使用典型的Dockerfile。

除了构建和运行容器外,Podman还可以与容器注册表进行交互。 要登录容器注册表,例如广泛使用的Docker Hub,请运行:

$ podman login docker.io

为了推送我刚刚构建的图像,我只需要标记,以便它引用特定的容器注册表和我的个人命名空间,然后简单地推送它。

$ podman -t hello-world docker.io/asamalik/hello-world
$ podman push docker.io/asamalik/hello-world

那么,您是否注意到我如何以非root用户身份运行所有内容? 此外,我的系统上没有运行大型胖守护进程!

安装 Podman

默认情况下,Podman可用于Silverblue - 用于基于容器的工作流的新一代Linux工作站。 要在任何Fedora版本上安装它,只需运行:

$ sudo dnf install podman

相关资讯

留言(0条)

我要发表看法

«-必填

«-必填,不公开

若看不清,请点击更换

«- 点击按钮

最新资讯TOP10

一周热门TOP10

一月热门TOP10

图书推荐