docker的宿主系统是centos,为什么可以运行ubuntu的镜像

2020-08-22 科技 116阅读
Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker自开源后受到广泛的关注和讨论,以至于dotCloud公司后来都改名为DockerInc。RedHat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用。Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。安装dockerdocker安装方法一ubuntu14.04以上的版本都是自带docker安装包的;所以可以直接安装;但是这个一般不是最先版本sudoapt-getupdatesudoapt-getinstalldocker.iodocker安装方法二;安装最新版本sudoapt-getupdatecurl-sdocker在配置文件中添加或修改DOCKER="/usr/bin/docker"重启dockersudoservicedockerrestart#重启安装完成之后可以测试下面几个命令查看版本docker-v显示如下:这就表明你安装成功了查看状态:sudoservicedockerstatus显示如下:其他状态命令:sudoservicedockerstart#启动sudoservicedockerstop#关闭sudoservicedockerrestart#重启查看镜像:此时应该没有镜像dockerimages显示如下:安装第一个镜像ubuntu下载docker镜像,需要几分钟。sudodockerpullubuntu启动容器,并且进入到Ubuntu容器的bash命令sudodockerrun-i-tubuntu/bin/bash输出helloworld下载时的现象:启动时的现象:其实相当于启动了一个虚拟机;输出helloworld:ps命令:Docker常用命令速查#下载一个ubuntu镜像sudodockerpullubuntu#使用ubuntu运行一个交互性的shell,#分配一个伪终端,附带stdin和stdout(输入/输出流)#如果你想退出分离出来的伪终端,#可以使用CTRL-p+CTRL-q--就像先按CTRL-p然后CTRL-qsudodockerrun-i-tubuntu/bin/bash#dockerps命令sudodockerps#列出当前所有正在运行的containersudodockerps-l#列出最近一次启动的,且正在运行的containersudodockerps-a#列出所有的container#port命令dockerrun-p80:8080#映射容器的8080端口到宿主机的80端口#删除容器命令sudodockerrm`sudodockerps-a-q`#删除所有容器sudodockerrm$CONTAINER_ID#删除容器id为CONTAINER_ID的容器#其他命令快速参考:sudodockerimages#查看本地镜像sudodockerattach$CONTAINER_ID#启动一个已存在的docker实例sudodockerstop$CONTAINER_ID#停止docker实例sudodockerlogs$CONTAINER_ID#查看docker实例运行日志,确保正常运行sudodockerinspect$CONTAINER_ID#查看container的实例属性,比如ip等等sudodockerrun-t-i-v/home/linjiqin/dev/docker:/home/mycontainer:rw-p8000:8000mydocker/bin/bash写在前面,运行我们的镜像的命令使用上面的为参考,这样会挂载本地文件夹,并且会映射container的8000端口到宿主机的8000端口/home/linjiqin/dev/docker为要挂载的本地文件夹,需提前创建/home/mycontainer为docker映射路径,执行上面命令会帮我们创建
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com