一.Docker概述:
1.Docker 项目的目标是实现轻量级的操作系统虚拟解决方案
2.Docker 和传统虚拟化的区别:
Docker 是在操作系统层面上实现,直接复用本地主机的操作系统
传统虚拟化是在硬件层面上实现
3.Docker组件:
Docker Engine 一个基于虚拟化技术的轻量级并且功能强大的开源容器引擎管理工具
Docker Hub 可以分享和管理images镜像的一个saas服务
二.Image镜像:一个只读层成为镜像,镜像是永远不会变的
1.父镜像:每个镜像都有可能依赖于由一个或多个下层组成的另一个镜像。那么,下层镜像成为上层镜像的父镜像
2.基础镜像:一个没有任何父镜像的镜像
3.镜像ID:所有镜像都是通过64位的十六进制字符串来标识,为了简化使用,前12个字符可以组成一个短ID,可在命令行中使用,短ID有可能会重复,所以服务器总是返回长ID
4.获取镜像:docker pull 命令从仓库获取所需要的镜像
5.列出本地镜像:docker images 命令
其中:repository 代表镜像来自哪个仓库; Tag 镜像的标记(相同的即代表同一个仓库); Image ID:镜像ID(唯一的);created: 创建时间; virtual size:镜像大小
6.启动Docker: docker run 指令
7.使用docker file 来创建镜像 (一个镜像不能超过127层)
8.利用ADD命令复制本地文件到镜像:ADD myApp /var/www
利用EXPOSE 命令来向外部开放端口:EXPOSE 80 (开放httpd端口)
用CMD命令来描述容器启动后运行的程序
利用docker tag命令来修改镜像的标签
9.上传镜像:docker push 把自己创建的镜像上传到仓库中共享
10.存出镜像:docker save 导出镜像到本地文件
11.载入镜像:docker load 从导出的本地文件中再导入本地镜像库
12.移除本地镜像:docker rmi 移除容器
三.docker 容器:
1.安装docker :yum install docker
启动docker: systemctl start docker
2.搜索获取镜像:
>docker search centos
>docker pull centos:7
3.查看当前镜像:
>docker images
4.通过镜像ID查看镜像详细信息
>docker 196e0ce0c9fb
4.根据镜像创建容器并启动
>docker run -d -i -t centos:7 /bin/bash
这边会返回一个containerID
5.进入centos7容器
>docker attach containerID
6.退出容器
>exit
7.添加参数-d 即可让容器在后台运行:
>docker run -d centos:7 /bin/bash "while true; do echo hello world; sleep 1; done"
运行产生containerID
通过docker ps -a 查看当前容器的状态
9.删除容器
>docker rm <NAMES>
若要同时删除多个:直接添加多个names (>docker rm tiny_lalande zen_ramanujan ..)
四.数据卷Volumes
1.创建一个Volumes:
>docker run -dti -v /data centos:7
>docker attach <containerID>
>ls