1,基本概述
产生
2013年开始,go实现。
目标
实现轻量级别的os虚拟化解决方案,基础是linux的lxc技术。用户操作她,就像操作一个轻量级别的虚拟机。
使用原因
1,启动启动
2,占用很少的系统资源,切一台机器可以运行千个docker容器。
3,虚拟机占用几个G级别的资源,docker只是为M级别的。
基本的概念
1,镜像
类似于java中的class类,也可以说是一个模版,在镜像服务器上有很多我们需要的镜像。
2,容器
类似于class类的一个实例
3,仓库
存放实例的地方,有点类似于github,国内的docker仓库 docker pool
安装
centos7中已经有一个docker,所以只需要安装就可以了
安装 yum install docker
启动 systemctl start docker.service
停止 systemctl stop docker.service
重启 systemctl restart docker.service
开机启动 systemctl enable docker.service
3,镜像
获取
docker pull mysql
查看
docker images
创建
①修改已有镜像
- 下载已有镜像 docker pull
- 启动相应的容器 docker run -i -t 名称 /bin/bash
- 添加应用到容器 gem install json
- 退出容器 exit
- 提交更新版本 docker commit -m ’说明’ -a ’名称’ image名称 :版本信息
(查看生成的镜像,ls -a) 这个方法不利于团队分享
②使用dockerfile (命令写到文件中,自动生成镜像)优点有利于团队分享
- 创建Dockerfile文件(D必须大写)
- docker build 命令穿件
不可以超过127层。※docker tag 可以修改镜像的名称(类似于复制)
③
镜像操作
- 保存
- 载入
- 删除
本地镜像倒入到docker
- cat 镜像文件名(必须为tar结尾的文件) |docker import - 名称:版本
- 产看导入的镜像 docker images
- 生成容器
- 将镜像文件上传到镜像服务器 docker push
- 到docker hub可以看到上传的镜像文件,有点类似于github
4,容器
生成--》从镜像生成
docker run -t -f centos /bin/bash
查看运行的容器
docker ps