Docker 学习 (一)

一、基本概念

docker 是基于lxc(linux container)的一项内核虚拟化技术,它将一个个轻量级的系统打包成一个个容器,在一台服务器上容器内完成的配置可以直接迁移到另外一台服务器上,只要已经事先配置好了Docker引擎。
个人理解docker 就像是最近一个非常热门的词汇 DevOps,他的出现就要让部署和开发更加灵活。

二、安装部署及常用命令

Docker 在Centos上的安装:
yum intall docker-io

启动服务:
service docker start

docker 的registery 上面有各种各样官方或者个人已经打包好的系统镜像,我们可以直接从上面下载下来运行,上面有预先部署好的环境,比如说:mysql、php、python等,免去了环境部署的过程。
具体命令:
docker pull image名称

docker images 查看已经下载到本地的镜像

有了镜像之后我们可以使用:
docker run -i -t imageID  /bin/bash 来使用image创建一个container,并运行一个bash 会话,
加上-d参数可以使容器在后台运行。

docker ps 查看所有正在运行的container
docker diff 查看container 的历史变化
docker inspect 查看docker 的详细信息
docker top 显示一个container的进程

如果你对一个container做了修改后,可以使用docker commit ID 命令,将一个container另存为一个新的镜像,这样下次我们要再做修改可以直接运行保存好的新的image

另外,docker 也提供了私有的registery,我们可以将私有的registery利用 docker push 命令推送上去,供团队中的其他人下载。
也可以使用docker export ID > tarball命令将运行的container 进行打包,这样有利于转发。

三、docker 核心技术

a、隔离性:
采用namespace 进行同一host,不同container之间的隔离
主要有pid\net\ipc\user等namespace。

b、可配额
为cgroup 即control group 可以实现不同container的资源配置,防止单一container 占用过多资源

c、便携性
AUFS  使用AUFS的好处:可以不借助LVM、RAID就可以将多个disk挂载到同一目录下。不仅如此还可以将一个readonly和一个writeable的branch 给挂载到一起。这样,docker就可以根据一个readonly的镜像,在上层起来一个writeable的块,这样保存container的时候就不需要每个container都要保存成一个image。可以只保存上层的修改即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值