码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 微服务实战系列之玩转Docker(一)


    前言

    话说计算机的“小型化”发展,历经了大型机、中型机直至微型机,贯穿了整个20世纪的下半叶。同样,伴随着计算机的各个发展阶段,如何做到“资源共享、资源节约”,也一直是一代又一代计算机人的不懈追求和历史使命。今日的IT人应该感谢前辈们的付出和努力,没有他/她们,我想难以收获如今“信息爆炸”的繁荣景象。

    其中,资源的虚拟化之路,妥妥是一个百折不挠、值得大书特书的伟大篇章。正因如此,云计算终于可以站在信息时代发展之巅,顺应历史发展潮流,成为与大数据、人工智能、工业互联网、物联网、车联网等并驾齐驱的信息化名片之一。

    那么,博主撇开“云计算”,暂时不表。今天咱们来聊聊Docker吧,一个时代的“宠儿”。

    在这里插入图片描述


    揭秘Docker

    一个新事物的诞生,往往会经历一段甚至长期的“蛰伏期”。在这个期间,新事物通常会围绕“提出问题——>分析问题——>讨论——>提出方案——>实施方案”——这个思路发展。

    那么,docker也不例外。它的形象是一艘“满载的大船”。为什么会这样设计或定位它呢?请允许博主慢慢道来。
    在这里插入图片描述先来看看它是哪来的。从来新鲜的、有个性的、有价值的东西,都讲究个“师出有名”。

    Q1:从哪来

    Docker的历史可以追溯到2013年,那时的移动互联网也逐步迈进了“新时代”,方兴未艾。当年,Docker正如当今的LLM(Large Language Model)一样,炙手可热,一经问世便注定不凡。只是在开源化历程中,它也经历了很多曲折和困难。谈到这里,博主不禁有感而发:“商业化总是要有的,开源精神也同样可贵。开源不意味着没有商机。比如私有云与公有云之间的分化,同样走出了各自的精彩。”

    Docker,一个基于LXC(Linux容器,Google的杰作之一)的容器,能够从dotCloud公司的一个私有项目,借机完成华丽转身,可以说,“命运掌握在了自己手里”。

    这里博主总结一句话:Docker是一个有史以来Container技术的集大成者,同样是站在了巨人的肩膀上,完成它的历史使命。

    Q2:干什么

    知道了它的来历后,接下来,博主继续带着大家看看,Docker是干什么的。通过它的背景资料,可以理解它的使命和目标是什么。即“Build——>Ship——>Run”。翻译成一句话就是“build once, run anywhere”(一次构建,遍地运行)。

    1. Build(构建)

    一句话,基于Docker的构建原则和规则,建立一套可行的服务(包括所需的各种资源、文件、应用程序等)。

    2. Ship(运输)

    一句话,快乐的搬运,快乐的“装卸”,大家都说搬家累,可是Docker却乐此不疲。这个理念是精髓哦。

    3. Run(运行)

    一句话,选择了新“家”后,Docker立即开锅掌勺,愉快的干活了。不用关注天气,不用查看导航,更不用花钱。可谓一举多得,所以人见人爱。

    在这里插入图片描述

    且看上图,这是Docker的核心运行机制。基于OS构建自己的Docker内循环,从镜像到容器,再到各种应用,各行其是。总而言之,有章可循不犯错。

    这里看几个关键术语:

    术语解释
    镜像(Image)可理解为一个root文件系统,比如一个操作系统、一个nginx等。
    容器(Container)镜像启动后就是一个容器,一个镜像可启动多次,意味着可创建多个容器。
    仓库(Repository)镜像管理中心,可以是公共的,也可以私有化。
    Docker 客户端用于和Docker主机进程交互的客户端工具。比如docker命令行或sdk工具。
    Docker 主机用于执行Docker守护进程或容器的资源。

    Q3:如何做

    在这里插入图片描述
    掌握了基本的概念后,可以通过上图对其进一步理解。简单讲是这样几个过程:

    1. 创建Docker主机

    实现对镜像的Pull,Run、Stop、Delete等操作。建立守护进程,与外部交互。

    2. 创建和使用镜像

    简单打个比喻,镜像是Docker的“水源”。离开了镜像,Docker就会枯竭,无用武之地。我们可以创建镜像(生产过程),也可以获取镜像(消费过程)。
    这里的操作,均指向一个仓库,即Docker仓库,当然可以是public,也可以是private。

    3. 与Docker主机交互

    我们可以借助docker命令行或sdk工具,与Docker主机建立联系。当然是通过守护进程(Docker daemon)完成一系列动作和指令。比如build、pull、run等命令。


    结语

    虚拟化没有终点,Docker遂应时而生,因时而变。为什么它会引人注目,当然离不开它的“轻”和“灵”。试想,一艘大船,如何使用才能高效?标准化打包是核心思路,快速的装卸也是胜利之钥。那么Docker正是依靠此思想茁壮成长。它带来了云计算的蓬勃发展,也促进了互联网向更深、更广、更高的舞台前进。

    最后一句话分享各位:
    云原生,从来不是一个口号,更多是一个使命、一种发展的必由之路。


    精彩回顾

    • 微服务实战系列之云原生

    • 微服务实战系列之Filter

    • 微服务实战系列之API加密

    • 微服务实战系列之Dubbo(下)

    • 微服务实战系列之Dubbo(上)

    • 微服务实战系列之ZooKeeper(实践篇)

    • 微服务实战系列之ZooKeeper(下)

    • 微服务实战系列之ZooKeeper(中)

    • 微服务实战系列之ZooKeeper(上)

    • 微服务实战系列之MQ

    • 微服务实战系列之通信

    • 微服务实战系列之J2Cache

    • 微服务实战系列之Cache(技巧篇)

    • 微服务实战系列之MemCache

    • 微服务实战系列之EhCache

    • 微服务实战系列之Redis

    • 微服务实战系列之Cache

    • 微服务实战系列之Nginx(技巧篇)

    • 微服务实战系列之Nginx

    • 微服务实战系列之Feign

    • 微服务实战系列之Sentinel

    • 微服务实战系列之Token

    • 微服务实战系列之Nacos

    • 微服务实战系列之Gateway

    • 微服务实战系列之加密RSA

    • 微服务实战系列之签名Sign


    在这里插入图片描述

  • 相关阅读:
    基本放大电路的学习
    C++算法 —— 动态规划(3)多状态
    算法与数据结构 --- 排序 --- 归并排序,基数排序以及总结
    postman设置接口关联这样做,薪资直接涨3k
    Day32——122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II +第二天复习
    ANR问题--相机相关的debug
    牛客网之SQL100题(3)-排序、关联关系
    MySQL -- 环境安装(CentOS7)
    安装Docker报错求解答~~
    开源药店商城系统源码比较:哪个适合你的药品电商业务
  • 原文地址:https://blog.csdn.net/splendid_java/article/details/140432578
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号