Podman跟docker一样是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。源代码开源在github上。
Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias docker = podman来使用podman。
Podman控制下的容器可以由root用户运行,也可以由非特权用户运行。Podman管理整个容器的生态系统,其包括pod,容器,容器镜像,和使用libpod library的容器卷。Podman专注于帮助您维护和修改OCI容器镜像的所有命令和功能,例如拉取和标记。它允许您在生产环境中创建,运行和维护从这些映像创建的容器。
下面我们来说一下podman的安装及常用操作。
一、podman安装
yum install -y podman
注意centos8以上已默认安装好了podman
镜像加速为了加快镜像的推送拉取速度,我们配置镜像加速,使用阿里云镜像加速器
备份conf文件
cp /etc/containers/registries.conf{,.bak}
编辑
vim /etc/containers/registries.conf
unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "uyah70su.mirror.aliyuncs.com"
拉取镜像
$ podman pull centos
查看镜像
$ podman images
运行镜像
$ podman run -itd --name test centos sleep 3600
查看运行中的镜像
$ podman ps
二、podman发布自定义镜像
使用通用 Dockerfile 构建镜像的方式与 Docker 相同:
$ vim Dockerfile
输入一下内容
FROM fedora:28 RUN dnf -y install cowsay
下载编译自定义镜像
$ podman build . -t hello-world
运行镜像
$ podman run --rm -it hello-world cowsay "Hello!"
为了构建容器,Podman 在后台调用另一个名为 Buildah 的工具。
除了构建和运行容器外,Podman 还可以与容器托管进行交互。要登录容器注册库,例如广泛使用的 Docker Hub,请运行:
$ podman login docker.io
为了推送我刚刚构建的镜像,我只需打上标记来代表特定的容器注册库,然后直接推送它。
$ podman -t hello-world docker.io/asamalik/hello-world
$ podman push docker.io/asamalik/hello-world
三、使用docker命令操作podman
我们可以使用docker的常用命令来操作podman,只要在环境变量中增加一个别名即可:$ echo "alias docker=podman" >> .bashrc
使环境变量生效
$ source .bashrc
使用docker命令查看podman运行中的容器
$ docker ps -a
四、完整的podman命令大全
查看podman详情可以查看podman的存储位置等信息
podman info
podman镜像管理
查看镜像
# 查看镜像列表
podman images
# 显示所有镜像(包括中间层)
podman images -a
# 只显...
点击查看剩余70%
网友评论0