首页 > 其他分享 >1、docker-安装-阿里云镜像加速-docker工作流程和底层原理

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

时间:2024-06-17 10:47:00浏览次数:23  
标签:ce repo yum 镜像 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 容器成为构建和部署应用程序的理想选择。

标签:ce,repo,yum,镜像,docker,Docker,底层
From: https://www.cnblogs.com/littlecc/p/17417658.html

相关文章

  • 4、docker-部署Nginx、tomcat
    1、搜索镜像:docker searchnginx·可以去官网搜索查看https://hub.docker.com/2、下载镜像:docker pullnginx3、查看镜像:dockerimages4、启动镜像:dockerrun-d--namenginx01-p3344:80nginx5、查看容器docker ps6、测试......
  • 3、docker-其它命令
    #后台启动容器:·dockerrun-d镜像名//启动后查看dockerps发现容器自动停止了,docker容器使用后台运行,就必须要有一个前台进程,docker发现前台没有应用程序就会自动停止#查看日志·由于容器暂时没有输出日志。这里写个脚本给容器让他打印日志:··......
  • 2、docker-常用命令
    ·dockerversion 显示docker的版本信息·dockerinfo更详细的docker的系统信息·docker--help   ==========================镜像命令======================= #docker镜像命令:1、dockerimages:列出所有本地镜像。··REPOSITORY镜......
  • 6、docker-docker的图形化web界面管理工具-portainer--docker镜像原理
    图形化界面管理工具-portainer-可以提供后台面板供我们操作1、下载启动portainer·#-v挂载-v/var/run/docker.sock:/var/run/docker.sock 表示将主机上的Docker守护进程的Unix套接字文件映射到容器内部,这样Portainer就可以通过DockerAPI与Docker守护进程交互了。......
  • 5、docker-部署ES(elasticsearch)+kibana
    #es暴露的端口多#es十分消耗内存#es的数据一般需要放置到安全目录、挂载=========================================安装es=========================1、下载启动es(建议启动前把其它容器停止,不然会很卡)·dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300......
  • 8、docker-容器数据卷- -v 方式一挂载
    docker理念:将应用和环境打包成一个镜像如果数据都在容器中,那只要删除容器数据就会丢失,所有需要数据卷来实现数据的持久化 什么叫容器数据卷:·容器之间可以有一个数据共享技术、把docker容器中产生的数据,同步到本地,类似目录的挂载,将容器里的目录挂载到主机上·实现容......
  • 7、docker-commit镜像、将容器打包成一个镜像
    #dockercommit提交容器成为一个新的副本#dockercommit-m="提交的描述信息"-a="作者"容器id目标镜像名:[TAG]===========================================测试:1、启动tomcat·启动:dockerrun-it -p8080:8080tomcat//此命令进到容器后......
  • 9、docker-mysql容器数据同步到本机-挂载
    1、查看镜像、下载镜像·dockersearchmysql·dockerpullmysql:5.7//指定下载5.7版本2、启动镜像-d后台运行-p端口映射主机端口:容器端口-v卷挂载-e环境配置这里配置的是数据库的密码--name容......
  • 超级底层:10WQPS/PB级海量存储HBase/RocksDB,底层LSM结构是什么?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 创建Docker容器与外部机通信(端口映射的方式)
    一、检查端口是否被占用1.1 查看正在使用中的TCP和UDP端口:ss-tulnLISTEN:表示端口正在监听连接,意味着这些端口已经被系统服务使用。比如,如果你看到"tcp000.0.0.0:80800.0.0.0:*LISTEN",这意味着8080端口被一个服务监听,并等待连接。 判断端口是否被占用:如果你想......