一、Docker的基本组成
1、镜像(image)
镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。,docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new出来的实例对象。
2、容器(container)
容器是用镜像创建的运行实例
从镜像容器角度:可以把容器看做是一个简易版的 Linux 环境
3、厂库
仓库(Repository)是集中存放镜像文件的场所(类似于maven厂库和github厂库)
二、CentOS7安装Docker
1、确定centos7及以上版本
cat /etc/redhat-release
2、卸载旧版本
https://docs.docker.com/engine/install/centos/
3、安装gcc相关:
yum -y install gcc
yum -y install gcc-c++
4、安装需要的软件包
yum install -y yum-utils
5、设置stable镜像厂库(默认是国外的拉去速度太慢)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、更新yum软件包索引
yum makecache fast
7、安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
8、 启动docker
systemctl start docker
9、测试是否安装成功
docker version
测试运行helloword
docker run hello-word
10、卸载
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
三、阿里云镜像加速
1、地址:
https://promotion.aliyun.com/ntms/act/kubernetes.html
2、登录点击控制台
3、选择控制台进入容器镜像服务
4、获取加速度期地址
5、拷贝脚本到服务器上面执行,选择对应的系统
6、重启服务器
systemctl daemon-reload
systemctl restart docker
四、永远的hello-world
1、运行hellp-world
docker run hello-world
2、run干了什么
五、底层原理
1、docker有着比虚拟机更少的抽象层
由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2、docker利用的是宿主机的内核,而不需要加载操作系统OS内核
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟