podman容器入手

网友投稿 335 2022-10-18

podman容器入手

参考地址

​​官方地址​​

什么是 Docker?

Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker 是目前最流行的 Linux 容器解决方案,即使 Docker 是目前管理 Linux 容器的一个非常方便的工具,但它也有两个缺点: Docker 需要在你的系统上运行一个守护进程。 Docker 是以 root 身份在你的系统上运行该守护程序。 这些缺点的存在可能有一定的安全隐患,为了解决这些问题,下一代容器化工具Podman 出现了 。

什么是 Podman?

Podman是一个由 RedHat 公司推出的无守护程序的容器引擎,用于在Linux系统上开发,管理和运行OCI容器, Podman是一个无守护进程的开源 Linux 原生工具,旨在使用开放容器倡议 ( OCI )容器和容器映像轻松查找、运行、构建、共享和部署应用程序。 优点:可以由 非root用户运行 Podman 是一个开源的容器运行时项目 Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。

docker和podman启动方式不同

启动容器的方式不同: docker cli 命令通过API跟 Docker Engine(引擎)交互告诉它我想创建一个container,然后docker Engine才会调用OCI container runtime(runc)来启动一个container。这代表container的process(进程)不会是Docker CLI的child process(子进程),而是Docker Engine的child process。 Podman是直接给OCI containner runtime(runc)进行交互来创建container的,所以container process直接是podman的child process。 因为docke有docker daemon,所以docker启动的容器支持--restart策略,但是podman不支持,如果在k8s中就不存在这个问题,我们可以设置pod的重启策略,在系统中我们可以采用编写systemd服务来完成自启动

安装 Podman

安装

[root@rzk ~]# sudo yum -y install podman

查看版本

[root@rzk opt]# podman -vpodman version 3.3.1

容器基本常用命令

podman run 创建并启动容器podman start 启动容器podman ps 查看容器podman stop 终止容器podman restart 重启容器podman attach 进入容器podman exec 进入容器podman export 导出容器podman import 导入容器快照podman rm 删除容器podman logs 查看日志

镜像基本常用命令

podman search 检索镜像podman pull 获取镜像podman images 列出镜像podman image Is 列出镜像podman rmi 删除镜像podman image rm 删除镜像podman save 导出镜像podman load 导入镜像podmanfile 定制镜像(三个) podman build 构建镜像 podman run 运行镜像podmanfile 常用指令(四个) COPY 复制文件 ADD 高级复制 CMD 容器启动命令 ENV 环境变量 EXPOSE 暴露端口

安装nginx

搜索nginx

[root@rzk opt]# podman search nginxINDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io docker.io/library/nginx Official build of Nginx. 16062 [OK] docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker con... 2105 [OK]docker.io docker.io/nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 56 docker.io docker.io/nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo... 59 docker.io docker.io/nginxdemos/hello NGINX webserver that serves a simple page co... 81 [OK]docker.io docker.io/nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN... 22 docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of... 819 [OK]docker.io docker.io/privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al... 61 [OK]docker.io docker.io/jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 148 [OK]docker.io docker.io/mailu/nginx Mailu nginx frontend 10 [OK]docker.io docker.io/jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho... 303 docker.io docker.io/linuxserver/nginx An Nginx container, brought to you by LinuxS... 161 docker.io docker.io/wodby/nginx Generic nginx 1 [OK]docker.io docker.io/nginxproxy/nginx-proxy Automated Nginx reverse proxy for docker con... 33 docker.io docker.io/schmunk42/nginx-redirect A very simple container to redirect HTTP tra... 19 [OK]docker.io docker.io/centos/nginx-112-centos7 Platform for running nginx 1.12 or building ... 16 docker.io docker.io/staticfloat/nginx-certbot Opinionated setup for automatic TLS certs lo... 25 [OK]docker.io docker.io/ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 3 [OK]docker.io docker.io/tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp... 148 [OK]docker.io docker.io/alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou... 112 [OK]docker.io docker.io/centos/nginx-18-centos7 Platform for running nginx 1.8 or building n... 13 docker.io docker.io/sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a... 7 [OK]docker.io docker.io/flashspys/nginx-static Super Lightweight Nginx Image 11 [OK]docker.io docker.io/bitwarden/nginx The Bitwarden nginx web server acting as a r... 12 docker.io docker.io/webdevops/nginx Nginx container 9 [OK]

拉取镜像

[root@rzk opt]# podman pull docker.io/library/nginx

运行nginx

--name "你要该什么名" "镜像名"

[root@rzk opt]# podman run -t -d -p 8221:80 --name nginx docker.io/library/nginx4636fa10587ff273e0c66d5ff5404014799f22f765be8f3d58a67de86ba635

可参考

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【运维脚手架】之docker
下一篇:Spring Bean是如何初始化的详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~