podman初试-和docker对比1,什么是docker?Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。 2,什么是Podman?Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。
3,Podman 和docker不同之处?
4,podman的安装4.1,Arch Linux & Manjaro Linuxsudo pacman -S podman 4.2,Fedora,Centos
4.3,Gentoosudo emerge app-emulation/libpod 4.4,MacOS
5,Podman CLI介绍Podman CLI 里面87%的指令都和DOcker CLI 相同,官方给出了这么个例子 运行一个容器podman run -dt -p 80:80 --name nginx -v /data:/data -e NGINX_VERSION=1.16 nginx:1.16.0 列出当前所有的容器
查看一个镜像信息# podman inspect nginx | grep -i 'ipaddress' 'SecondaryIPAddresses': null, 'IPAddress': '10.88.0.110', 查看容器运行的日志
查看运行中容器资源使用情况# podman top nginxUSER PID PPID %CPU ELAPSED TTY TIME COMMANDroot 1 0 0.000 5m26.420969043s pts/0 0s nginx: master process nginx -g daemon off;nginx 6 1 0.000 5m26.421085502s pts/0 0s nginx: worker process# podman stats nginxID NAME CPU % MEM USAGE / LIMIT MEM % NET IO BLOCK IO PIDS19f105d5dc1e nginx -- 2.036MB / 1.893GB 0.11% 978B / 10.55kB -- / -- 2 迁移容器Podman 支持将容器从一台机器迁移到另一台机器。
其次,在目标机器上使用源机器上传输过来的打包文件对容器进行恢复。 $ sudo podman container restore -i /tmp/checkpoint.tar.gz podman的程序如何设置自启动由于 Podman 不再使用守护进程管理服务,所以不能通过守护进程去实现自动重启容器的功能。那如果要实现开机自动重启容器,又该如何实现呢?
接下来,启用这个 Systemd 服务 $ sudo systemctl daemon-reload$ sudo systemctl enable nginx_podman.service$ sudo systemctl start nginx_podman.service 之后每次系统重启后 Systemd 都会自动启动这个服务所对应的容器,容器死亡之后也会启动这个容器,我们可以用下面的例子做测试
然后按照上述方式设置启动自启动 演示下Podman 下启动的容器为Podman的子进程我们刚才启动了一个nginx的podman 现在我们来看一下他的进程 # ps -ef | grep [n]ginxroot 19368 19359 0 11:38 pts/0 00:00:00 nginx: master process nginx -g daemon off;101 19381 19368 0 11:38 pts/0 00:00:00 nginx: worker process 然后查看这个nginx的父进程是那个
所以验证了我上面的说法 |
|