码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 01. Docker的基本介绍


    Docker概述?

    Docker 是一个开源的应用容器引擎,基于Go语言 并遵从 Apache2.0 协议开源。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

    Docker为什么会出现?

    1. 在我们日常的开发场景中,开发一款产品,是两套不同的环境和应用配置。说到底就是开发和运维的统一,经常会遇到这样的问题:
      我们在自己的电脑上可以运行,但是,在其他的地方就不能用了,还有就是环境配置是非常麻烦的一件事情,每一个机器都要部署环境(集群Redis, ES,Hadoop等)非常的费时和费力.
    2. 日常中我们开发一个项目,单体项目(war),需要Redis,MySql,JDK ,ES等等,要是能够和环境一起打包,就会大大的减轻我们日常的开发部署难度。

    对于这两个问题,Docker都给了我们解决方案。

    在这里插入图片描述
    理解Docker可以从集装箱来形象理解,集装箱,最主要的作用就是隔离,Docker也是如此。
    Docker核心思想就是把:环境打包封箱,隔离,每个箱子都是相互隔离的。

    虚拟机和Docker的区别

    虚拟机:在window中安装一个windows,通过这个软件我们可以虚拟出来一台或者是多台电脑,非常的笨重。
    虚拟机也属于是虚拟化技术,docker容器技术,也是一种虚拟化技术,
    vm: linux centos (原生镜像,相当于就是一台电脑)隔离,需要开启多个虚拟机的时候,是非常大的,需要几十个g
    docker: 隔离,镜像(最核心的环境,4m + jdk + mysql)十分的小巧,运行镜像就可以了,几个m kb 秒级启动。
    在这里插入图片描述
    虚拟机缺点:

    • 资源占用非常多
    • 冗余步骤非常多
    • 启动很慢

    在这里插入图片描述
    容器技术:容器技术不是模拟的一个完整的操作系统

    • 传统迅即,虚拟出一条硬件,运行一个完整的操作系统,让后在这个系统上安装和运行软件
    • 容器内的应用直接运行在宿主机的的内容,容器是没有自己的内核的,也米有虚拟我们的硬件,所以就轻便了。
    • 每一个容器都是互相隔离的,每个容器都有一个属于自己的文件系统,互不影响。

    概念解释

    在这里插入图片描述

    • 镜像(image): docker中的镜像好比就是一个模版,可以通过这个模版来创建容器服务,tomcat镜像 - tomcat容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目的运行就是在容器中的 )
    • 容器(container): docker利用容器技术,独立运行一个或者是一组应用,通过镜像来创建的,启动,停止或者是删除,基本命令,可以把容器堪称是一个linux系统
    • 仓库(repository): 存放image的地方。 共有仓库和私有仓库

    文档推荐阅读

    • Docker 教程菜鸟
    • 【狂神说Java】Docker最新超详细版教程通俗易懂
    • 官方网站:https://www.docker.com/
    • 文档:https://docs.docker.com/ 文档非常的详细
    • 仓库地址:https://hub.docker.com/

    参考:
    https://blog.csdn.net/weixin_46665411/article/details/125199737
    https://www.runoob.com/docker/docker-tutorial.html
    https://www.bilibili.com/video/BV1og4y1q7M4/?vd_source=606645816f49ad91794e7ab8f5e1dcd5

  • 相关阅读:
    SAP-ABAP-企业微信:ZCSM37-后台JOB异常检查主动推送企业微信群
    天猫订单之数据分析与挖掘——分类分析
    vue 权限分组
    VueRouter与expres/koa中间件的关联
    设计模式-策略设计模式(一般通过工厂方法模式来实现策略类的声明)
    redis-安装配置
    FinClip PC 终端支持更新,现已兼容抖音与支付宝小程序
    objtrace代码调试
    使用Microsoft.SemanticKernel基于本地运行的Ollama大语言模型实现Agent调用函数
    群狼调研(长沙医院满意度调查)|医院患者满意度提升方案
  • 原文地址:https://blog.csdn.net/qq_41860497/article/details/128041099
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号