加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

再见 Docker,是时候拥抱下一代容器工具了

发布时间:2019-09-26 21:32:41 所属栏目:建站 来源:iMike
导读:什么是 Linux 容器? Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留

服务启用成功后,我们可以通过 systemctl status 命令查看到这个服务的运行状况。

  1. $ sudo systemctl status nginx_container.service 
  2. ● nginx_container.service - Podman Nginx Service 
  3.    Loaded: loaded (/etc/systemd/system/nginx_container.service; enabled; vendor preset: disabled) 
  4.    Active: active (running) since Sat 2019-08-20 20:59:26 UTC; 1min 41s ago 
  5.  Main PID: 845 (podman) 
  6.     Tasks: 16 (limit: 4915) 
  7.    Memory: 37.6M 
  8.    CGroup: /system.slice/nginx_container.service 
  9.            └─845 /usr/bin/podman start -a nginx 
  10.  
  11. Aug 20 20:59:26 Ubuntu-dev.novalocal systemd[1]: Started Podman Nginx Service. 

之后每次系统重启后 Systemd 都会自动启动这个服务所对应的容器。

其它相关工具

Podman 只是 OCI 容器生态系统计划中的一部分,主要专注于帮助用户维护和修改符合 OCI 规范的容器镜像。其它的组件还有 Buildah、Skopeo 等。

Buildah

再见 Docker,是时候拥抱下一代容器工具了

虽然 Podman 也可以支持用户构建 Docker 镜像,但是构建速度比较慢。并且默认情况下使用 VFS 存储驱动程序会消耗大量磁盘空间。

Buildah 是一个专注于构建 OCI 容器镜像的工具,Buildah 构建速度非常快并使用覆盖存储驱动程序,可以节约大量的空间。

Buildah 基于 fork-exec 模型,不以守护进程运行。Buildah 支持 Dockerfile 中的所有命令。你可以直接使用 Dockerfiles 来构建镜像,并且不需要任何 root 权限。Buildah 也支持用自己的语法文件构建镜像,可以允许将其他脚本语言集成到构建过程中。

下面是一个使用 Buidah 自有语法构建的例子。

再见 Docker,是时候拥抱下一代容器工具了

Buildah 和 Podman 之间的一个主要区别是:Podman 用于运行和管理容器, 允许我们使用熟悉的容器 CLI 命令在生产环境中管理和维护这些镜像和容器,而 Buildah 主用于构建容器。

项目地址:https://github.com/containers/buildah

Skopeo

再见 Docker,是时候拥抱下一代容器工具了

Skopeo 是一个镜像管理工具,允许我们通过 Push、Pull和复制镜像来处理 Docker和符合 OCI 规范的镜像。

项目地址:https://github.com/containers/skopeo

延伸阅读

什么是 OCI?

OCI (Open Container Initiative),是一个轻量级,开放的治理结构(项目)。在 Linux 基金会的支持下成立,致力于围绕容器格式和运行时创建开放的行业标准。

OCI 项目由 Docker、CoreOS 和容器行业中的其领导者在 2015 年 6 月的时候启动,OCI 的技术委员会成员包括 Red Hat、Microsoft、Docker、Cruise、IBM、Google、Red Hat 和 SUSE 等。

什么是 CRI?

CRI(Container Runtime Interface)是 Kubernetes v1.5 引入的容器运行时接口,它将 Kubelet 与容器运行时解耦,将原来完全面向 Pod 级别的内部接口拆分成面向 Sandbox 和 Container 的 gRPC 接口,并将镜像管理和容器管理分离到不同的服务。

再见 Docker,是时候拥抱下一代容器工具了

什么是 CNI?

CNI(Container Network Interface)是 CNCF 旗下的一个项目,是 Google 和 CoreOS 主导制定的容器网络标准。CNI 包含方法规范、参数规范等,是 Linux 容器网络配置的一组标准和库,用户可以根据这些标准和库来开发自己的容器网络插件。CNI 已经被 Kubernetes、Mesos、Cloud Foundry、RKT 等使用,同时 Calico、Weave等项目都在为 CNI 提供插件。

再见 Docker,是时候拥抱下一代容器工具了
总结

本文介绍三个了符合 CRI 标准的容器工具 Podman、 Buildah 和 Skopeo。这三个工具都是基于 *nix 传统的 fork-exec 模型,解决了由于 Docker 守护程序导致的启动和安全问题,提高了容器的性能和安全。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读