Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你与系统的其他部分隔离开来,运行进程所需的文件都会通过另一个镜像提供,这也意味着整个过程中进程的独立性。进程独立意味着对应用及其全部所需文件可以一起进行打包或隔离。而且相互于传统方案,容器化的开发、测试和生产等都可以拥有更快的速度。
容器工具千千万,Docker最常用也最常出现,以Docker举例容器工具
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker 是目前最流行的 Linux 容器解决方案,但它也有两个缺点:
Podman 和Docker不一样的是,Podman分散了容器管理所需的所有组件,并将它们个性化为较小的组件,仅在必要时使用。Podman 拥有着类似Docker的优势,而且它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。
代码如下(示例):
CentOS
$ sudo yum -y install podman
MacOS
$ brew cask install podman
代码如下(示例):
podman 与 docker 命令完全兼容,只需将 docker 替换为 podman 即可,例如:
# $ docker run -d -p 80:80 nginx:alpine
$ podman run -d -p 80:80 nginx:alpine
# $ docker ps -a
$ podman ps -a
# $ docker stop --latest
$ sudo podman stop --latest
# $ docker rm --latest
$ sudo podman rm --latest
docker 需要在我们的系统上运行一个守护进程(docker daemon),而且需要使用root用户来创建容器,但是podman都不需要,docker已经过了只有它一个容器工具的时代了。
希望这个博客能对你有所益处。我是轻王,我为自己代言。