Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。(我个人还是喜欢称虚拟机)
Docker应用容器相对于 VM 有以下几个优点:
Docker安装
CentOS6上安装Docker
# yum -y install epel-release # yum -y install docker-io
CentOS7上安装Docker
# yum -y install docker
启动Docker
# /etc/init.d/docker start
如果启动后无进程,日志中出现:
/usr/bin/docker: relocation error: /usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
解决办法:
# yum upgrade device-mapper-libs
Docker镜像管理
# docker pull centos //从docker.com获取centos镜像 # docker images //查看本地都有哪些镜像 # docker tag centos fansik //为centos镜像设置标签为fansik,再使用docker images查看会多出来一行,该行的image id和centos的一样 # docker search [image-name] //从docker仓库搜索docker镜像,后面是关键词 # docker run -t -i centos /bin/bash //用下载到的镜像开启容器,-i表示让容器的标准输入打开,-t表示分配一个伪终端,要把-i和-t放在镜像名字前面
当镜像发生修改后,我们可以把镜像提交重新生成一个新版本进行再本地
docker ps //查看运行的容器,加上-a选项可以查看没有运行的容器
docker rmi centos //用来删除指定得镜像,其中后面的参数可以是tag,如果是tag时,实际上删除的是该tag,只要改镜像还有其他tag,就不会删除该镜像,当后面的参数为镜像ID时,则会彻底删除整个镜像,连同所有标签一同删除
# docker tag centos centos:fansik创建一个REPOSITORY为centos,TAG为fansik的镜像
# docker rmi centos:fansik删除REPOSITORY为centos,TAG为fansik的镜像
Docker镜像使用容器生成新的镜像
进入之前创建的容器
运行docker run后,进入到该容器中,我们做一些变更,比如安装一些东西,然后针对这个容器进行创建的新的镜像
docker commit -m "change somth" -a "somebody info" container_id(通过docker ps -a获取id) 新镜像名字
例如:docker commit -m "install httpd" -a "Aming" dad4e9070e2b aming/centos
这个命令有点像svn的提交,-m加一些改动信息,-a指定作者相关信息 dad4e9070e2b为容器id,再后面为新镜像的名字
Docker基于本地模板导入创建镜像
原文链接:http://www.cnblogs.com/fansik/p/5526938.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍理解Docker(1):Docker安装和基础用法详细介绍,包括了理解Docker(1):Docker安装和基础用法详细介绍的使用技巧和注意事项,需要的朋友参考一下 Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container)。(我个人还是喜欢称虚拟机) 1. 安装 1.1 在 Ub
本文向大家介绍docker中安装quagga详细介绍,包括了docker中安装quagga详细介绍的使用技巧和注意事项,需要的朋友参考一下 openstack中的虚拟路由器项目占用资源太多,需要将虚拟路由器迁移到Docker中,觉得首先要解决几个问题。 1.如何集成docker到openstack中,这个问题openstack官方给了三种方案,基于nova,heat,和单独的容器项目
本文向大家介绍IOS Bundle详细介绍及使用方法,包括了IOS Bundle详细介绍及使用方法的使用技巧和注意事项,需要的朋友参考一下 什么是Bundle? A bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by
本文向大家介绍docker kubernetes dashboard安装部署详细介绍,包括了docker kubernetes dashboard安装部署详细介绍的使用技巧和注意事项,需要的朋友参考一下 docker之kubernetes dashboard部署 1. 环境说明: 1). 架构: 注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install. 192.16
本文向大家介绍ISO7 二维码详细介绍及使用方法,包括了ISO7 二维码详细介绍及使用方法的使用技巧和注意事项,需要的朋友参考一下 使用系统自带生成/扫描二维码 iOS7开始苹果集成了二维码的生成的扫描 ### 生成二维码的步骤 导入CoreImage框架 #import <CoreImage/CoreImage.h> 通过滤镜CIFilte生成二维码 ### 二维码的内容(传统的条形码只能放数字
本文向大家介绍Yarn的安装与使用详细介绍,包括了Yarn的安装与使用详细介绍的使用技巧和注意事项,需要的朋友参考一下 在官方介绍里有这么一句话: Yarn is a package manager for your code. It allows you to use and share code with other developers from around the world. Yarn