Docker安装及基本使用方法详细介绍
Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(ApplicationContainer)。(我个人还是喜欢称虚拟机)
Docker应用容器相对于VM有以下几个优点:
- 启动速度快,容器通常在一秒内可以启动,而VM通常要更久
- 资源利用率高,一台普通PC可以跑上千个容器,你跑上千个VM试试
- 性能开销小,VM通常需要额外的CPU和内存来完成OS的功能,这一部分占据了额外的资源
Docker安装
CentOS6上安装Docker
#yum-yinstallepel-release #yum-yinstalldocker-io
CentOS7上安装Docker
#yum-yinstalldocker
启动Docker
#/etc/init.d/dockerstart
如果启动后无进程,日志中出现:
/usr/bin/docker:relocationerror:/usr/bin/docker:symboldm_task_get_info_with_deferred_remove,versionBasenotdefinedinfilelibdevmapper.so.1.02withlinktimereference
解决办法:
#yumupgradedevice-mapper-libs
Docker镜像管理
#dockerpullcentos//从docker.com获取centos镜像 #dockerimages//查看本地都有哪些镜像 #dockertagcentosfansik//为centos镜像设置标签为fansik,再使用dockerimages查看会多出来一行,该行的imageid和centos的一样 #dockersearch[image-name]//从docker仓库搜索docker镜像,后面是关键词 #dockerrun-t-icentos/bin/bash//用下载到的镜像开启容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,要把-i和-t放在镜像名字前面
当镜像发生修改后,我们可以把镜像提交重新生成一个新版本进行再本地
dockerps//查看运行的容器,加上-a选项可以查看没有运行的容器
dockerrmicentos//用来删除指定得镜像,其中后面的参数可以是tag,如果是tag时,实际上删除的是该tag,只要改镜像还有其他tag,就不会删除该镜像,当后面的参数为镜像ID时,则会彻底删除整个镜像,连同所有标签一同删除
#dockertagcentoscentos:fansik创建一个REPOSITORY为centos,TAG为fansik的镜像
#dockerrmicentos:fansik删除REPOSITORY为centos,TAG为fansik的镜像
Docker镜像使用容器生成新的镜像
进入之前创建的容器
- #dockerps-a;查看有哪些容器
- #dockerstartdad4e9070e2b启动id为dad4e9070e2b的容器(id可以简写为前几位)
- #dockerexec-itdad4e9070e2b/bin/bash进入到容器中
- 里面可以直接使用yum安装需要的软件
运行dockerrun后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建的新的镜像
dockercommit-m"changesomth"-a"somebodyinfo"container_id(通过dockerps-a获取id)新镜像名字
例如:dockercommit-m"installhttpd"-a"Aming"dad4e9070e2baming/centos
这个命令有点像svn的提交,-m加一些改动信息,-a指定作者相关信息 dad4e9070e2b为容器id,再后面为新镜像的名字
Docker基于本地模板导入创建镜像
- 模块提取,可以直接在网上下载一个模块(可以复制链接然后直接wget)http://openvz.org/Download/templates/precreated
- 导入镜像的命令是:#catubuntu-15.10-x86_64-minimal.tar.gz|dockerimport-ubuntu
- 把现有镜像,导出为一个文件:#dockersave-ofansik-httpd.tarhttpd(仓库名或者镜像ID)
- 用备份文件恢复本地镜像:#dockerload--inputfansik-httpd.tar或者:#dockerload<fansik-httpd.tar
- 把自己的镜像上传到dockerhub官方网站,但需要先注册用户dockerpushimage_name
原文链接:http://www.cnblogs.com/fansik/p/5526938.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。