docker是一个软件,是一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,也可以实现虚拟化,并且容器之间不会有任何接口。
安装Docker
注意:我的是在linux上安装docker
(1).需要会一点linux基础
(2).Centos7以上版本
(3).使用xshell连接远程服务器进行操作
1.环境查看
查看系统内核 uname -r 需要系统内核3.10以上的
2.查看系统版本
语法:建议使用这条命令查看cat /etc/os-release 或 cat /etc/redhat-release 这个是适合redhat系的linux
需要7版本以上的
3.使用docker官网帮助文档
4.找到Developers里面有个Docs,双击打开
5.Get Docker就是下载docker,找到自己要下载的,我要下载linux版本,根据需求下载
6.找到Docker Engine 这是docker引擎,在下面找到Centos
7.卸载旧的安装包,开始前尽量卸载一下,以防万一
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
8.出现这个没有匹配说明你没装过docker
8.下载安装包
sudo yum -y install yum-utils 或 sudo yum install -y yum-utils ----y放哪都可以
9.设置镜像仓库
官网默认是国外的镜像,速度太慢不建议用,建议用阿里云的镜像,放在下面了
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
这个是阿里云镜像,使用国内阿里云的镜像 ,十分快(推荐用这个镜像)
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
10.更新yum软件包索引
yum makecache fast
11.安装docker相关内容 docker-ce就是社区版本(一般使用的都是社区版) docker-ee就是企业版本
yum -y install docker-ce docker-ce-cli containerd.io
12.启动docker (只要下面没提示就是执行成功)
systemctl start docker
如果启动docker报错
报错原因:这是因为缺少 rhel-push-plugin.socket 单元,该单元是rhel-push-plugin软件包的一部分
接着执行 curl -sSL https://get.docker.com/ | sh
13.使用docker version验证是否安装成功
14.用hello-world测试一下docker引擎,执行 docker run hello-world
15.查看一下下载的这个hello-world镜像 docker images
到此docker下载完成
卸载Docker
想要卸载docker怎么做?
只需要两步:
1.卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
2.删除资源
rm -rf /var/lib/docker /var/lib/docker 是docker默认工作路径
Docker镜像加速器
1.百度aliyun
2.找到容器镜像服务ACR
3.搞一个个人版,用身份证验证一下就行了,很简单
4.找到镜像加速器Centos
5.执行下面4条命令:4条命令直接从上面加速器中粘贴,不容易出错
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://qhceg9a4.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
到此镜像加速器配置完成
Run流程和Docker原理
这个就是Run流程和Docker原理图
底层原理
Docker是怎么工作的?
Docker是一个Client -Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。
DockerServer接收到Docker-Client指令,就会执行这个命令
为什么Docker比VM快?
1.Docker有着比虚拟机更少的抽象
由于docker不需要Hypervisor(虚拟机),实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源,因此在CPU,内存利用率上docker有绝对优势
2.Docker利用的是宿主机的内核,不需要加载操作系统OS内核,而VM需要Guest OS内核
新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核,虚拟机需要加载OS,返回新建过程是分钟级别,而docker直接利用宿主机操作系统,省略了此过程,因此新建一个docker容器,只需要几秒
Docker和VM区别
1,启动速度不同:docker启动快速属于秒级别,而虚拟机通常需要几分钟去启动;2、性能不同:docker需要的资源更少;3、隔离性不同:docker属于进程之间的隔离,隔离性较弱,而虚拟机可以实现系统级别的隔离。4.安全不同,docker 的安全性更弱,5.利用率不同:利用率上docker有绝对优势