1.为什么会有docker
问题引入
在开发过程中,我们经常会遇到代码环境问题,如代码可以在我的电脑上面运行,但是在别人电脑上就不行,而且随着环境的增加,代码环境报错的情况会出现更多,那么该如何解决这个问题?
解决办法
如果可以把环境用一个箱子给包装起来,然后把这个箱子发送给别人,别人就可以直接使用这个箱子运行代码,并且也不会出现环境报错问题。
docker其实就是解决的这个问题。只不过在docker中会想的比我们更加全面,理解docker的应用场景,就非常有利于我们的学习了
2.docker必知组件
1.docker客户端和服务器
我们在宿主机上面安装docker后,会生成一个docker守护进程,它是整个docker运行的控制中心,我们使用docker创建容器,镜像,通信等都是通过docker守护进程来进行的,我们在宿主机上面的操作,会先发送给docker守护进程,然后docker守护进程实现我们想要的操作
2.docker镜像
可以理解为我们上面所说箱子的图纸,我们可以根据这个图纸,搭建对应的箱子,并且我们平常发送给别的人并不是箱子,而是图纸,因为发送箱子不太方便,发送图纸不仅快而且方便许多
3.Registry(远程仓库)
可以理解为docker官网专门存放图纸的地方,我们可以在这个官网上面寻找我们想要的任何图纸。
有公有仓库和私有仓库之分
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
注意
您必须手动删除任何已编辑的配置文件。自己配置的文件需要手动删除