docker VS podman
所属分类 docker
浏览量 778
Docker 容器化平台
将应用程序与容器中的库和环境绑定在一起
类似虚拟机
与硬件虚拟化的虚拟机不同
在 Docker 中,运行中的容器共享主机 OS 内核
Docker 两个主要模块 Docker Daemon 和 Docker CLI
Docker Daemon
常驻的后台进程,帮助管理和创建 Docker 镜像、容器、网络和存储卷
Docker Engine REST API
与 Docker 守护进程进行交互的 API
Docker CLI
与 Docker 守护进程进行交互的 Docker 命令行客户端
Docker CLI ==> Docker Daemon ==> (registry image container kernal)
Docker一些问题
Docker 运行在单个进程上,可能导致单点故障
所有子进程都归属于此进程
如果 Docker 守护进程失败,所有子进程都会失去跟踪并进入孤立状态
安全漏洞
对于 Docker 的操作,所有步骤都需要由 root 执行
Podman 是一个无守护进程的容器引擎
用于在 Linux 系统上进行开发、管理和运行 OCI Containers
Containers 能以 root 模式运行,也能以非 root 模式运行
Podman 直接与镜像注册表、容器和镜像存储进行交互
Docker 是建立在 runC 容器运行时之上 ,并且使用了守护进程的
Podman 没有守护进程,直接使用 runC 容器运行时
Docker 命令在 Podman 中同样可用的 可以指定命令别名 alias docker=podman
Podman 和 Docker 的镜像具有兼容性
CentOS 8 上安装 podman
yum install podman
podman --version
运行一个容器
podman run -dt -p 8080:8080/tcp
-e HTTPD_VAR_RUN=/var/run/httpd
-e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
-e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
-e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
-d 分离模式在后台运行容器
Podman 在后台运行后会打印出容器 ID
-p 利用端口转发,使能够访问容器内的 HTTP server
列出运行中的容器
podman ps
检查运行中的容器
正在运行的容器中的元数据和相关的详细信息 状态(运行或停止)创建日期 容器ID 等
podman inspect -l
查看容器日志
podman logs --latest
上一篇
下一篇
C语言指针和二维数组
各种指针的大小
C语言数据结构笔记
C++模板
指针地址输出
指针和内存地址