一、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/

docker容器中安装kabka docker容器中安装strings_java

 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

docker容器中安装kabka docker容器中安装strings_docker容器中安装kabka_02

 6、更新yum软件包索引

        yum makecache fast

7、安装DOCKER CE

        yum -y install docker-ce docker-ce-cli containerd.io

        

docker容器中安装kabka docker容器中安装strings_docker_03

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、登录点击控制台

docker容器中安装kabka docker容器中安装strings_docker容器中安装kabka_04

3、选择控制台进入容器镜像服务

docker容器中安装kabka docker容器中安装strings_开发语言_05

4、获取加速度期地址

docker容器中安装kabka docker容器中安装strings_java_06

5、拷贝脚本到服务器上面执行,选择对应的系统

6、重启服务器

systemctl daemon-reload

        systemctl restart docker

四、永远的hello-world

1、运行hellp-world 

docker run hello-world

docker容器中安装kabka docker容器中安装strings_docker容器中安装kabka_07

2、run干了什么

        

docker容器中安装kabka docker容器中安装strings_开发语言_08

五、底层原理

1、docker有着比虚拟机更少的抽象层

         由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。

2、docker利用的是宿主机的内核,而不需要加载操作系统OS内核

        当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟