docker的安装
docker的安装
CentOs7安装docker
docker版本:社区版(CE版),企业级收费;
docker官网文档地址:https://docs.docker.com/engine/install/centos/讲解的非常详细,可以进行补充。
1.卸载老版本
ps: \ 为链接符
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安装ce版
sudo yum install docker-ce docker-ce-cli containerd.io
#3.启动docker
sudo systemctl start docker
###4.验证docker是否正确的安装
sudo docker run hello-world
如果能够正确的拉取到镜像,并成功执行,就说明docker已经正确安装。
阿里云镜像加速配置
网易云也有镜像服务,这里以阿里云为例
1.注册一个自己的阿里云账户,然后登录
2.登录阿里云平台获取加速地址,点击容器镜像服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y3lElvIF-1633269072090)(/Users/zhaolonghui/Library/Application Support/typora-user-images/image-20210929210259456.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3O13Hrh-1633269072092)(/Users/zhaolonghui/Library/Application Support/typora-user-images/image-20210929210836508.png)]
3.配置本机docker加速器
a.首先打开docker的配置文件
vim /etc/docker/daemon.json
b.依次执行下面四条命令,EOF表示保存文件并退出文件的意思
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xa9mz31n.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
c.查看镜像,看是镜像后面是否有阿里云镜像加速的标志(阿里云加速地址)
docker info
运行Hello-world
docker run hello-world
docker run 后面跟着的是镜像,根据这个镜像生成一个实例。docker会先在本地寻找镜像,如果找不到就从中央仓库拉取。
出现 hello from docker,说明docker运行成功!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BnDaf2Y7-1633269072093)(/Users/zhaolonghui/Library/Application Support/typora-user-images/image-20210929213259260.png)]
这是一个测试的小脚本,输出这段提示后,hello,word就会停止运行,容器就会自动终止。
run干了什么
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FViP0vd-1633269072094)(/Users/zhaolonghui/Library/Application Support/typora-user-images/image-20210929213955554.png)]
docker的底层原理
docker是怎样工作的
docker是一个C/S结构的系统,docker守护进程运行在主机上,然后通过Socket链接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器,是一个运行时环境,就是我们前面说到的集装箱。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ol7rQ7AU-1633269072094)(/Users/zhaolonghui/Library/Application Support/typora-user-images/image-20210929214608425.png)]
为什么docker比VM快
1.docker有比虚拟机更少的抽象层。docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在cpu/内存利用率上docker将会在效率上有明显优势。
2.docker利用的是宿主机的内核,而不需要Guest OS(虚拟机)。因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核这个耗时耗资源的过程。docker是直接利用宿主机操作系统的,因此docker是秒级加载的。