1、docker-安装-阿里云镜像加速-docker工作流程和底层原理

1、访问官网:https://docs.docker.com/get-docker/

2、卸载旧版本:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

3、安装基本环境、工具:  

yum install -y yum-utils device-mapper-persistent-data lvm2        //yum-utils 是常用工具,它提供了yum-config-manager

4、配置镜像仓库:使用国内的镜像、这里使用阿里云镜像

  ··yum-config-manager  是管理软件仓库、可以调整yum的主要配置参数、启动或关闭指定的软件源、删除已有软件仓库等工作

   ···--add-repo  意思是:从指定的文件或URL添加(和启用)软件仓库

  ··命令执行后会在/etc/yum.repos.d/ 路径下生成docker仓库  docker-ce.repo

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

 5、查看docker仓库文件,链接是否是aliyun的镜像链接(sudo sed -i 's#download.docker.com#mirrors.aliyun.com/docker-ce#' /etc/yum.repos.d/docker-ce.repo  这个命令可以直接修改文件)

  ··vim /etc/yum.repos.d/docker-ce.repo

6、安装之前更新yum软件包索引

yum makecache fast

7、、安装docker-ce

  ··docker-ce  ce社区版(ee是企业版、社区版勾用了),docker的核心

  ··docker-cli  客户端

  ··containerd.io  容器

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

扩展:如果需要安装指定的版本:

····  yum -y install docker-ce-[版本号] docker-cli-[版本号] containerd.io
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

8、启动docker

systemctl start docker

9、查看docker、查看是否安装成功

docker version

10、测试:

docker run hello-world      //hello world  不能使用空格

报错:就检查一下网络是否能ping同外网

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/library/hello-world/manifests/latest": dial tcp: lookup registry-1.docker.io on 8.8.8.8:53: read udp 192.168.177.139:39543->8.8.8.8:53: i/o timeout.
See 'docker run --help'.

 11、查看hello-world 镜像是否下载过来了

docker images

 

 

================================

#卸载docker

  ··卸载依赖

yum remove docker-ce docker-cli containerd.io

  ··删除docker资源

rm -rf /var/lib/docker/    //这是docker的默认工作路径

 

=============================================配置加速器、有阿里服务器的才能配置================

1、查看 /etc/目录下有没有docker目录,没有创建一个:mkdir -p /etc/docker

2、配置加速器:登录阿里云官网 >> 打开控制台 >> 搜索镜像服务 >> 打开容器镜像服务

 

tee /etc/docker/daemon.json <<-'EOF'            //这里的tee是文件输入屏幕输出,这里是将EOF后面的通过<<输入到daemon.json文件里并编译

{

  "registry-mirrors": ["加速器地址-阿里云去找"]
}
EOF

https://help.aliyun.com/document_detail/612664.html?spm=5176.12818093.0.0.533b16d0s1fg9H:加速器地址

3、重启服务:systemctl  daemon-reload

4、重启服务:systemctl  restart    docker

 

====================================================docker 的run流程、工作流程、底层原理=========================================

 

底层原理

  ·docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问

  ·DockerServer接收到DockerClient的指令就会执行!

扩展:套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制

  ··作用就是:完成两个应用程序之间的数据传输

  ··实质就是:两个网络各自通信连接中的端点

 

docker为什么比VM快?

Docker 比虚拟机(VM)快的主要原因是 Docker 容器不需要运行完整的操作系统。相比之下,虚拟机需要运行完整的操作系统。这意味着在虚拟机中运行应用程序时,需要启动并管理整个操作系统,这会占用大量的计算资源和内存。而 Docker 容器只需要运行应用程序及其依赖项,因此可以更快地启动和停止,占用更少的计算资源和内存。

此外,Docker 容器的镜像是轻量级的,它们只包含应用程序及其依赖项,因此可以更快地下载和部署。相比之下,虚拟机镜像通常较大,需要较长时间来下载和部署。

总之,Docker 容器比虚拟机快的原因是因为它们更轻量级,更快速地启动和停止,并占用更少的计算资源和内存。这使得 Docker 容器成为构建和部署应用程序的理想选择。

posted @ 2024-06-17 10:35  little小新  阅读(11)  评论(0编辑  收藏  举报