1.为什么会有docker

问题引入

在开发过程中,我们经常会遇到代码环境问题,如代码可以在我的电脑上面运行,但是在别人电脑上就不行,而且随着环境的增加,代码环境报错的情况会出现更多,那么该如何解决这个问题?

解决办法

如果可以把环境用一个箱子给包装起来,然后把这个箱子发送给别人,别人就可以直接使用这个箱子运行代码,并且也不会出现环境报错问题。

docker其实就是解决的这个问题。只不过在docker中会想的比我们更加全面,理解docker的应用场景,就非常有利于我们的学习了

2.docker必知组件

1.docker客户端和服务器

我们在宿主机上面安装docker后,会生成一个docker守护进程,它是整个docker运行的控制中心,我们使用docker创建容器,镜像,通信等都是通过docker守护进程来进行的,我们在宿主机上面的操作,会先发送给docker守护进程,然后docker守护进程实现我们想要的操作

2.docker镜像

可以理解为我们上面所说箱子的图纸,我们可以根据这个图纸,搭建对应的箱子,并且我们平常发送给别的人并不是箱子,而是图纸,因为发送箱子不太方便,发送图纸不仅快而且方便许多

3.Registry(远程仓库)

可以理解为docker官网专门存放图纸的地方,我们可以在这个官网上面寻找我们想要的任何图纸。

有公有仓库和私有仓库之分

docker hub官网

4.Dokcer容器

我们根据图纸,搭建的箱子了,我们收到别人的图纸后,就可以在自己的主机上面搭建出一模一样的箱子,环境也是一样的。

3.安装

1.安装之前现卸载系统上原有的Docker

yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine

2、安装需要的安装包yum-utils

yum install -y yum-utils

3、设置镜像仓库地址

阿里云的镜像仓库地址(速度快)

 yum-config-manager \
  --add-repo \
   http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker相关的引擎

先更新yum软件包索引

yum makecache fase 

docker社区、ee企业版 ce为社区版 官方推荐使用ce版,默认安装最新的docker版本,也可以指定版本安装

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

5、启动docker服务

systemctl  start  docker

6、使用docker version 查看dockers是否启动

查看docker的版本

docker version

7、使用hello-world镜像测试docker

docker run hello-world

docker run工作原理

8.卸载

/var/lib/docker 为docker默认的工作路径!

1.卸载 Docker 引擎、CLI、Containerd 和 Docker Compose 包:

 sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

注意我们安装的是ce还是ee

2.主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有映像、容器和卷

sudo rm -rf /var/lib/docker

sudo rm -rf /var/lib/containerd

注意
您必须手动删除任何已编辑的配置文件。自己配置的文件需要手动删除