设为首页 - 加入收藏 镇江站长网 (http://www.52zhenjiang.com)- 国内知名站长资讯qq大小单双红包群号码,提供最新最全的站长资讯,创业经验,qq大小单双红包群号码建设等!
热搜: 如何 中国 互联网 2018
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

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

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

?什么是 Linux 容器?

Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留应用的全部功能。

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

Linux 容器还有利于明确划分职责范围,减少开发和运维团队间的冲突。这样,开发人员可以全心投入应用开发,而运维团队则可专注于基础架构维护。由于 Linux 容器基于开源技术构建,还将便于你在未来轻松采用各类更新、更强的技术产品。包括 CRI-O、Kubernetes 和 Docker 在内的容器技术,可帮助你的团队有效简化、加速和编排应用的开发与部署。

什么是 Docker?

Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 是目前很流行的 Linux 容器解决方案,即使 Docker 是目前管理 Linux 容器的一个非常方便的工具,但它也有两个缺点:

  • Docker 需要在你的系统上运行一个守护进程。
  • Docker 是以 root 身份在你的系统上运行该守护程序。

这些缺点的存在可能有一定的安全隐患,为了解决这些问题,下一代容器化工具 Podman 出现了 。

什么是 Podman ?

Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。

Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。

  1. Podman?官网地址:https://podman.io/?
  2. ?
  3. Podman?项目地址:https://github.com/containers/libpod?

安装 PodmanPodman

目前已支持大多数发行版本通过软件包来进行安装,下面我们来举几个常用发行版本的例子。

  • Fedora / CentOS
  1. $?sudo?yum?-y?install?podman?
  • Ubuntu
  1. $?sudo?apt-get?update?-qq?
  2. $?sudo?apt-get?install?-qq?-y?software-properties-common?uidmap?
  3. $?sudo?add-apt-repository?-y?ppa:projectatomic/ppa?
  4. $?sudo?apt-get?update?-qq?
  5. $?sudo?apt-get?-qq?-y?install?podman?
  • MacOS
  1. $?brew?cask?install?podman?
  • RHEL 7
  1. $?sudo?subscription-manager?repos?--enable=rhel-7-server-extras-rpms?
  2. $?sudo?yum?-y?install?podman?
  • Arch Linux
  1. $?sudo?pacman?-S?podman?

更多系统的安装方法,可参考官方文档:https://github.com/containers/libpod/blob/master/install.md

使用 Podman?

使用Podman 非常的简单,Podman 的指令跟 Docker 大多数都是相同的。下面我们来看几个常用的例子:

运行一个容器

  1. $?podman?run?-dt?-p?8080:8080/tcp??\?
  2. -e?HTTPD_VAR_RUN=/var/run/httpd??\?
  3. -e?HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d?\?
  4. -e?HTTPD_MAIN_CONF_PATH=/etc/httpd/conf?\?
  5. -e?HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/?\?
  6. registry.fedoraproject.org/f27/httpd?/usr/bin/run-httpd?

列出运行的容器

  1. $?podman?ps?-a?

分析一个运行的容器

  1. $?podman?inspect?-l?|?grep?IPAddress\":?
  2. "SecondaryIPAddresses":?null,?
  3. "IPAddress":?"",?

查看一个运行中容器的日志

  1. $?sudo?podman?logs?--latest?
  2. 10.88.0.1?-?-?[07/Feb/2018:15:22:11?+0000]?"GET?/?HTTP/1.1"?200?612?"-"?"curl/7.55.1"?"-"?
  3. 10.88.0.1?-?-?[07/Feb/2018:15:22:30?+0000]?"GET?/?HTTP/1.1"?200?612?"-"?"curl/7.55.1"?"-"?
  4. 10.88.0.1?-?-?[07/Feb/2018:15:22:30?+0000]?"GET?/?HTTP/1.1"?200?612?"-"?"curl/7.55.1"?"-"?
  5. 10.88.0.1?-?-?[07/Feb/2018:15:22:31?+0000]?"GET?/?HTTP/1.1"?200?612?"-"?"curl/7.55.1"?"-"?
  6. 10.88.0.1?-?-?[07/Feb/2018:15:22:31?+0000]?"GET?/?HTTP/1.1"?200?612?"-"?"curl/7.55.1"?"-"?

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章