• 聊聊docker【一】初识docker


    前言
    👏作者简介:我是笑霸final,一名热爱技术的在校学生。
    📝个人主页:个人主页1 || 笑霸final的主页2
    📕系列专栏:《云原生专栏》
    📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
    🔥如果感觉博主的文章还不错的话,👍点赞👍 + 👀关注👀 + 🤏收藏🤏

    一、docker简介

    • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

    • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
      *在这里插入图片描述


    Docker 的基本组成

    • 镜像(image):镜像文件生成容器实例,本身也是一个文件,称为镜像文件;其实image文件可以看作是容器的模版,Docker根据文件生成容器实例,同一个image文件,可以生成多个同时运行的文件实例。
    • 容器(cantainer):一个容器运行一种服务,当需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是容器;其实类似于通过镜像new出来的实例对象。
    • 仓库(repository):存放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库总拉取就行。

    二、官网地址

    https://www.docker.com/ 点此跳转官网在这里插入图片描述
    官方文档地址
    https://docs.docker.com/ 点此跳转官方文档
    在这里插入图片描述
    仓库地址
    https://hub.docker.com/ 点此跳转仓库地址
    可以发布自己的镜像。也可以拉取别人的镜像
    在这里插入图片描述

    三、Docker的应用场景

    • Web 应用的自动化打包和发布。

    • 自动化测试和持续集成、发布。

    • 在服务型环境中部署和调整数据库或其他的后台应用。

    • 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。


    之前的虚拟技术
    在这里插入图片描述
    特点
    资源十分多 冗余步骤多 启动很慢

    容器化技术
    在这里插入图片描述
    特点
    容器间互相隔离、轻便

    比较
    在这里插入图片描述

    四、容器与微服务

    • 容器是微服务和云原生架构的最佳实现载体
      微服务与容器几乎是完美的搭配。单体式架构(Monolithic)变成微服务架构(Microservices),相当于一个全能型变成N个专能型,每个专能型分配一个隔离的容器,赋予了最大程度的灵活。
    • 容器化是云计算的终极形态
      服务器势必会走上虚拟化的道路,因为虚拟化有太多的优势,例如前文所说的低成本、高利用率、充分灵活、动态调度等等。而采用容器之后,只需要一台服务器,创建十几个容器,用不同的容器,来分别运行不同用途的服务程序。这些容器,随时可以创建,也可以随时销毁。还能够在不停机的情况下,随意变大,随意变小,随意变强,随意变弱,在性能和功耗之间动态平衡。
      在这里插入图片描述

    五、docker的安装

    上节回顾
    上一节我们简单的介绍了docker的一些特点,现在我们来具体认识它吧

    安装docker的环境准备

    • 会linux一点点基础
    • 有一台linux(我用的阿里云的CentOS7)

    在这里插入图片描述

    • 第一步:卸载旧版本
     sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    • 第二步:一些安装方法

    在这里插入图片描述

    • 大多数用户设置Docker的存储库并从中进行安装,以便于安装和升级任务。这是推荐的方法。
    • 一些用户下载RPM包并手动安装,完全手动管理升级。这在某些情况下很有用,例如在无法访问互联网的气隙系统上安装Docker。
    • 在测试和开发环境中,一些用户选择使用自动便利脚本来安装Docker。

    我们通过仓库安装

    • 安装 yum-utils 软件包(提供扩展配置管理器实用程序)并设置存储库。
     sudo yum install -y yum-utils
     
    
    • 1
    • 2
    • 设置yum源地址 默认从国外下载 很慢
      sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
      我们用国内的镜像
    sudo yum-config-manager \
        --add-repo \
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    • 2
    • 3

    秒下载
    在这里插入图片描述

    其他yum源

    • 清华大学源
     sudo yum-config-manager \
        --add-repo \
        https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    • 2
    • 3

    安装
    ce 社区版本 ee企业版本

    • 安装最新版本的 Docker 引擎、容器化和 Docker 撰写,或转到下一步以安装特定版本
      sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    • 或者指定版本要安装特定版本的 Docker 引擎,请在存储库中列出可用版本,然后选择并安装:
      yum list docker-ce --showduplicates | sort -r
      在这里插入图片描述
      sudo yum install docker-ce-<版本_字符串> docker-ce-cli-<版本_字符串> containerd.io docker-compose-plugin
      在这里插入图片描述

    六、启动docker

    sudo systemctl start docker //启动命令
    docker version //可以查看是否启动成功
    
    • 1
    • 2

    在这里插入图片描述

    测试

    docker run hello-world
    
    • 1

    在这里插入图片描述
    查看 刚刚下载的 hello-world镜像在不在

    docker images
    
    • 1

    在这里插入图片描述

    七、配置阿里云镜像加速

    我并不直接给出阿里云镜像的地址,因为随着阿里云的不断维护升级,镜像地址可能会有变化,所以我直接给步骤查地址

    • 登陆阿里云:阿里云
      在这里插入图片描述
    • 账号登陆/注册
    • 进入控制台—>到产品与服务—>产品与服务列表—>容器镜像服务

    在这里插入图片描述

    == 执行相关命令==

    • 1)创建docker下载路径的配置文件

      sudo mkdir -p /etc/docker

    • (2)配置阿里云镜像地址

      sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://2kg75k2e.mirror.aliyuncs.com"] } EOF

    • (3)重启docker的伴随线程

      sudo systemctl daemon-reload

    • (4)重启docker服务
      sudo systemctl restart docker
      在这里插入图片描述

  • 相关阅读:
    按照前序输入创建二叉树并以前序遍历二叉树
    经典面试题 之 Dubbo和Zookeeper
    渗透测试——2
    使用 HTML、CSS 和 JavaScript 的实时计算器
    RK3576:革新智能设备体验的高性能AI芯片
    gRPC服务的定义和服务的种类
    java服务器端开发-servlet:202、Servlet执行过程介绍:get请求与post请求、编码相关等
    助力青少年学习,亚马逊云科技2024年全球人工智能和机器学习奖学金计划正式启动
    百度地图定位BMap.GeolocationControl的用法
    印刷企业使用数字工厂管理系统前后有什么变化
  • 原文地址:https://blog.csdn.net/weixin_52062043/article/details/127131422