3. podman -- hello world

3. podman -- hello world

 

 
 

以前学编程语言的时候,总是从 hello world 开始,

此处也就借用 hello world 来开始 podman

1. hello world

podman 能让你在容器内运行一个程序,

如:输出 hello world

3. podman -- hello world

如上:

podman run ubuntu:15.10 /bin/echo "hello world"

 

podman run

    podman 的命令格式为:podman COMMAND ...

    run 这个 COMMAND 用来 运行(启动)一个 容器

ununtu:15.10

   用来指定要运行的 镜像

   podman 首先会在本地主机上查找该镜像是否存在,

   镜像不存在的话,就会到 镜像仓库 里面下载镜像,(如上行 3,可以看到 podman 也是到 docker 仓库查找镜像)

/bin/echo "Hello world"

   在容器里面执行的命令,最后一行可以看到输出的结果

   好多时候会是 /bin/bash,来配合其他选项(-i,-t)提供一个 shell 环境


2. 容器几个基本的概念

(虽然这些文章是说 podman,但在初学的过程中,感觉理解 podman 无法避开 docker 的样子,所以会有一些 docker 的内容;podman 和 docker 的使用类似,(类比 yum 和 dnf),命令有很大的重合部分)

docker 中的基本组成:

  • 镜像(image)

    • 镜像可以理解为一个“模板”,是一个静态的磁盘文件,这个文件里面会包含一些特定的软件包,

    • 如:将 apache 的相关内容制作为一个镜像,将来加载运行这个镜像的时候,就得到了一个可以运行 apache 的环境。

    • 类比:虚拟机中安装 CentOS 8 的时候,需要一个 CentOS 8 的 iso 镜像

    • (上一节 OCI 提到,主要的标准之一就是 Image)

  • 容器(container)

    • 镜像运行起来后,就是一个容器
  • 仓库

    • 仓库就是用来保存镜像,本机上没有的镜像,就到仓库里面查找。

    • 类比 yum 本机上没有的程序,就到仓库里面查找

    • 公开仓库

    • 私有仓库(个人搭建)


3. 运行交互式容器

过 podman 的两个参数 -i -t 让 podman 运行的容器提供“交互”界面

(docker 也是一样,前面说过 podman 和 docker 的命令有很大一部分重合,后续不在赘述)

-i | --interactive
  Keep STDIN open even if not attached
-t | --tty
  Allocate a pseudo-TTY for container (也就是提供一个终端)

示例如下:

3. podman -- hello world

3. podman -- hello world

上一篇:安装 Vmware和创建虚拟机即密码破解


下一篇:elasticsearch的cross_fields查询