Docker概念、安装以及配置镜像加速器

Docker

(给自己文章打个call)如果对于linux比较陌生的可以看一看这些文章
Linux安装MySQL、JDK(含环境变量配置)、Tomcat
Linux介绍以及常用操作命令
Linux中vi编辑器使用及ps系统管理命令
img

(1)从VM与Docker框架中,直观上VM多了一层Guest OS,同时Hypervisor会对硬件资源进行虚拟化,docker直接使用硬件资源,所以资源利用率相对docker低。

(2)openstack能够以10台/min的速度创建虚拟机,在docker面前就弱爆了,因为docker是利用宿主机的系统内核,所以可以做到在几秒钟之内创建大量容器,它们的启动速度是在数量级上的差距。Docker的每个隔离环境是进程级的,每个守护进程共用操作系统内核,在隔离环境中打包运行服务必要的依赖。因此每个容器启动非常快,且占用的资源非常少,非常适合用在服务器上部署后台服务。

(3)Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差;

(4)虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。而Docker通常用于隔离不同的应用,例如前端,后端以及数据库。

服务器虚拟化解决的核心问题是资源调配,而容器解决的核心问题是应用开发、测试和部署。

(5)VM在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,再安装应用;Docker容器在宿主机器的操作系统上创建Docker引擎,直接在宿主主机的操作系统上调用硬件资源。

(6)虚拟机虽然可以隔离出很多「子电脑」,但占用空间更大,启动更慢。虚拟机软件可能还要花钱,例如 VMWare。容器技术不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境,类似「沙箱」。运行空间,虚拟机一般要几 GB 到 几十 GB 的空间,而容器只需要 MB 级甚至 KB 级。

img

(7)虚拟机的 Hypervisor 创建了一个非常牢固的边界,以防止应用程序突破它,而容器的边界不那么强大。

初识 Docker

1.1 docker概念

1、Docker 是一个开源的应用容器引擎
2、诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
3、Docker 是一个可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器引擎(好比汽车发动机),然后发布到任何流行的 Linux 机器上。
4、容器是完全使用沙箱机制,相互隔离
5、容器性能开销极低。
6、Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

image-20210310145757133

docker扮演的是图中鲸鱼的角色,而鲸鱼之上的集装箱就是一个个容器,容器中是我们开发的应用程序(不仅限于web应用),每个容器都有自己独立的环境(环境设置、网络、文件系统…),互不干扰。而每个箱子,又可以打包成一个新的镜像,放到其它服务器的docker环境中直接运行,不再需要重复安装程序运行环境

1.2 docker应用场景

案例一:

前几天,公司一批服务器就要到期了,由于服务器是15年购买的,硬件的性能远比现在新出的云主机低,因此决定把所有服务器都换成新一代服务器,但是张三正准备动手迁移服务器时,内心一阵阵崩溃感涌上心头,仔细一算,每台服务器都要做同样的事情。

1、装jdk、Tomcat、nginx
2、配置jdk环境变量和系统变量
3、配置Tomcat
4、配置nginx
5、安装项目所需的视频解码组件
6、导入项目所需的一些特殊字体

后来决定用docker部署的办法,在每台服务器都把docker安装之后,只需要在其中一台服务器中把Tomcat镜像从镜像仓库拉取下来,把这些配置都设置好,做成一个自己的镜像上传到镜像仓库中,之后在其他几台服务器都下载自己做的镜像,运行于docker中,把代码上传,就万事大吉了。

案例二

前不久的圣诞活动中,公司临时的活动方案在程序员的加班加点中终于上线,但是一上线之后发现推广海报中的中文名字乱码,领导问责测试人员怎么没做好测试,测试很委屈的说我已经测试无数遍并且测试报告都提交了,解决了所有问题才上线的;没办法只能让服务器同事查看正式服务器中的tomcat配置,发现原来 tomcat用了默认编码方式:iso8859-1,而测试环境中是UTF-8。针对这个问题,项目组决定把开发环境迁移到docker中,在测试环境中测试无误后,把镜像打包发布到正式环境中,解决了环境不同导致的问题

1.3 安装docker

Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,本课程基于CentOS 7 安装Docker。
官网:https://www.docker.com

#yum 包更新到最新
yum update -y

#安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2

#设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装docker
yum install -y docker-ce

#查看docker版本,验证是否验证成功
docker -v

考虑到从 docker 官方的仓库下载 docker-ce 有时会比较慢,可以使用下述命令将下载网址改为华为的镜像服务器:
sudo sed -i ‘s+download.docker.com+repo.huaweicloud.com/docker-ce+’ /etc/yum.repos.d/docker-ce.repo

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kpNpjAmL-1680189146488)(C:\Users\lps\AppData\Roaming\Typora\typora-user-images\image-20230330203200234.png)]

1.4 docker相关概念

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

1.5 配置 Docker 镜像加速器

默认情况下,将来从docker hub(https://hub.docker.com/)上下载docker镜像,太慢。一般都会配置镜像加速器:

  • USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
  • 阿里云
  • 网易云
  • 腾讯云

阿里云镜像加速器配置

首先登陆阿里云,点击控制台,然后再点击左边的像三字一样的图标,再点击产品与服务,在输入关键字地方搜索“镜像”,会显示容器镜像服务,点击“容器镜像服务”,在左侧的最下方有镜像中心(镜像加速器),点击镜像加速器,复制如下代码到linux执行即可

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://88y9upwp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker镜像加速是指通过配置镜像加速器来加快从Docker Hub或其他仓库拉取镜像的速度。通过使用国内的镜像加速器,可以避免由于网络延迟或墙的限制导致的下载速度慢的问题。 在国内,有多个镜像加速器可供选择。例如,Docker官方提供了中国区加速器https://registry.***并在拉取镜像时自动切换到可用的镜像加速器。一些云服务商也提供了Docker镜像加速服务,可以根据你使用的云平台选择对应的镜像加速器服务。另外,一些大型互联网企业也提供了镜像加速器服务,如科大镜像、网易、阿里云、七牛云等。 配置镜像加速器的方法是将加速器地址添加到Docker配置文件中。在配置文件中添加的加速器地址可以是官方提供的地址,也可以是云服务商或其他提供镜像加速器服务的地址。配置完成后,当从镜像仓库拉取镜像时,Docker会自动使用配置加速器地址来提高下载速度。 总结起来,Docker镜像加速是通过配置镜像加速器来加快从Docker Hub或其他仓库拉取镜像的速度。国内有多个镜像加速器可供选择,包括Docker官方提供的加速器、云服务商提供的加速器以及一些大型互联网企业提供的加速器配置镜像加速器的方法是将加速器地址添加到Docker配置文件中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Docker教程】Docker镜像加速](https://blog.csdn.net/m0_66345324/article/details/124920984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值