docker和linux区别,关于从Docker在Linux和Windows下的区别简单理解Docker的层次结构?...

314fa98e14ee477530908fc2f2838841.png

HUH函数

一:从运行一个简单的 Python Web 程序说起  启动Docker客户端并登陆。在客户端中输入以下内容:  $ sudo docker run -d -P training/webapp python app.py  第一次输入上面命令时,Docker会先从云端镜像库中下载training/webapp镜像。  1.运行截图  下面我们来详细看看这条命令的具体内容,这一部分我们可以在官方文档中找到详细的英文解释,这里笔者将其翻译过来并加了些自己的理解。  前面我们已经说过,Docker虚拟机系统实际也是基于Linux内核,所以这条语句实际上就是Linux的命令,我们可以输入以下内容查看docker命令的详解:  $ sudo docker   2.docker命令的子命令列表  再回到第一条中,我们使用的子命令是run。  在子命令列表中我们看到run子命令解释是:run Run a command in a new container,也就是在一个新的容器中运行一条命令。  我们的run命令后面跟的可选项有-d和-P。  查阅官方文档我们可以知道,-d表示Docker会把当前命令的容器放到后台执行并监控起来。-P则表示让Docker映射任何容器内部需要的端口到虚拟机上。这里需要对Docker一些概念有所了解,我们这里暂且简单地理解为Docker虚拟机下的每个Docker容器都是一台子虚拟机,每个子虚拟机都有一块虚拟网卡,当外部要访问容器时都必须通过Docker虚拟机,而-P就做了相关的端口映射。  命令执行后返回的一长串字符串(也就是fc4028b21d84f5c075821ca2425d74d45dea87cd28c4eb92620ae39ddec22f46)则是Docker的容器ID,这是一个唯一的值,我们可以以它为标识对容器做相应的操作。  当我们需要查看和管理当前后台运行的所有容器时,我们可以输入以下命令。  $ sudo docker ps  图3.容器详细信息  这里我们可以看到容器的详细信息,包括容器ID(精简的ID),镜像,命令,创建时间,状态,端口,以及容器名字。  接下来的training/webapp就是我们运行的容器的源了,Docker中称之为镜像,这个镜像是Docker官方之前就创建好的,里面包含了一个简单Python Flask web应用。  最后,我们在容器中执行了python app.py,python app.py启动了我们的web应用。  二:访问页面——从 Linux 和 Windows 的区别到对 Docker 层次的简单理解  从上面我们查看运行容器的详细信息时我们看到了,在PORTS这一栏中,有这样的信息:  0.0.0.0:49153->5000/tcp  上文中提到Docker虚拟机对容器做了端口映射,这里我们可以更直观的看到了,Docker虚拟机中的49153端口映射到了容器的5000端口(这里我们运行的是web程序,所以是tcp协议,其他容器有需要可以指定成udp协议)。  在官方文档中,这时我们访问localhost:49153,应该就能出现Hello world了,但是笔者在这个步骤根本访问不到这个页面。  图4.此时访问,浏览器一直处于等待状态  因此这里我们需要重新看看这个虚拟网络的结构,要看整个网络的结构,我们应该先了解Docker的层次结构。在Linux中,Docker的逻辑结构是这样的:  硬件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值