Docker容器快速入门(1)

目录

1.Docker 简介

2.跟普通虚拟机的对比

2.打包、分发、部署

Docker主要理念:一次封装(打包)随处运行(部署)

4.Docker 部署的优势

5.Docker 通常用来做什么

6.重要概念:镜像、容器、仓库


Docker 官方博客:Docker: Accelerated Container Application Development

Docker 官方文档:Docker Docs

Docker hub备用地址(国内可访问):https://hub-stage.docker.com/

Docker 自学文档(博主自己写的建议使用):🎉 Docker 简介和安装 - Docker 快速入门

1.Docker 简介

(1)Docker是什么?

Docker是基于Go语言编写的开源项目,是一套完整的容器管理系统

Docker的思想来源于集装箱,让容器之间相互隔离,与系统相互隔离

(2)docker干什么的?

Docker 是一个应用打包、分发、部署的工具
你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

通俗的 Docker 就像是一个集装箱

这个集装箱可以把各种应用程序和它们需要的所有东西,比如运行环境、配置文件等等,都打包放进去。然后呢,这个集装箱可以很方便地在不同的地方移动和运行,不管是在你的电脑上,还是在服务器上,甚至在其他的机器上。

有了 Docker,开发者就不用再担心不同的环境会导致应用出问题,因为集装箱里已经包含了一切应用正常运行所需要的。而且它使得部署应用变得超级简单快捷,就像搬个箱子那么容易。

2.跟普通虚拟机的对比

特性

普通虚拟机

Docker

跨平台

通常只能在桌面级系统运行,例如 Windows/Mac,无法在不带图形界面的服务器上运行

支持的系统非常多,各类 windows 和 Linux 都支持

性能

性能损耗大,内存占用高,因为是把整个完整系统都虚拟出来了

性能好,只虚拟软件所需运行环境,最大化减少没用的配置

自动化

需要手动安装所有东西

一个命令就可以自动部署好所需环境

稳定性

稳定性不高,不同系统差异大

稳定性好,不同系统都一样部署方式

2.打包、分发、部署

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。

Docker主要理念:一次封装(打包)随处运行(部署)

4.Docker 部署的优势

常规应用开发部署方式:自己在 Windows 上开发、测试 --> 到 Linux 服务器配置运行环境部署。

问题:我机器上跑都没问题,怎么到服务器就各种问题了

用 Docker 开发部署流程:自己在 Windows 上开发测试 --> 打包为 Docker 镜像可以理解为软件安装包) --> 各种服务器上只需要一个命令部署好

优点:确保了不同机器上跑都是一致的运行环境,不会出现我机器上跑正常,你机器跑就有问题的情况。

例如 易文档,SVNBucket 的私有化部署就是用 Docker,轻松应对客户的各种服务器。

5.Docker 通常用来做什么

应用分发、部署,方便传播给他人安装。特别是开源软件和提供私有部署的应用

快速安装测试/学习软件,用完就丢(类似小程序),不把时间浪费在安装软件上。例如 Redis / MongoDB / ElasticSearch / ELK

多个版本软件共存,不污染系统,例如 Python2、Python3,Redis4.0,Redis5.0

Windows 上体验/学习各种 Linux 系统

6.重要概念:镜像、容器仓库

镜像(images)可以理解为软件安装包,可以方便的进行传播和安装。

容器(container)软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。

仓库(Repository):仓库是集中存放镜像的场所,仓库分为公开仓库(public)和私有仓库(private)

● 最大的公开仓库为docker hub(国内用户需fan墙使用)

● 国内的公开仓库包括:阿里、网易、中科大等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++移动构造和赋值的样例

#include <iostream>class MyResource { public:// 默认构造函数MyResource(size_t size 0) : m_size(size), m_data(size ? new int[size] : nullptr) {std::cout << "Default constructor called\n";}// 析构函数~MyResource() {delete[] m_data;std…

使用ssh连接ubuntu

一、下载连接工具 常见的连接工具右fianlshell、xshell等等。在本文章中使用的finalshell&#xff0c;工具可以去官网上下载&#xff0c;官网下载。 二、Ubuntu中配置shh 1、使用下面指令更新软件包&#xff08;常用于下载安装或更新软件时使用&#xff0c;更新到最新的安装…

图搜索算法A*、Dijkstra在路径规划中的应用

当我们讨论基础路径规划算法时&#xff0c;尤其是在图搜索算法的范畴内&#xff0c;通常会重点关注如A*和Dijkstra算法这样的经典方法。这些算法在多种场景中&#xff0c;如机器人导航、网络路由以及游戏设计中发挥着至关重要的作用。下面为您提供一个学习大纲&#xff0c;帮助…

红苹果的圆度、直径大小标定

function fruitImageProcessingGUI% 创建主窗口和控件mainFigure figure(Units, normalized, Position, [0.3, 0.3, 0.4, 0.4]);instructionText uicontrol(Style, text, String, 请点击按钮执行相应的图像处理步骤, ...Units, normalized, Position, [0.1, 0.7, 0.8, 0.2], …

母亲的爱与妻子的爱,同为“爱“。不同感受!

母亲的爱与妻子的爱&#xff0c;虽然都是一个女人给予男人的爱&#xff0c;却有着本质的不同&#xff01; 天下父母对儿女的爱大多相同。在母亲眼中&#xff0c;儿女无论是多大年龄&#xff0c;无论你是否长大成人&#xff0c;也无论你做多大的官&#xff0c;有多么大的成就&am…

HBuilderX新增uni-app项目并发布到微信小程序

目录 1、下载软件并安装 2、创建项目并配置小程序id 3、微信开发者工具运行项目并配置 4、开发一个登录页面并发布 5、上传代码并小程序打开 6、手机扫码查看小程序 7、体验完后还要发版要去小程序申请备案认证 1、下载软件并安装 下载HBuilderX 下载微信开发者工具 …

Java中的对象流 ObjectInputStream 和ObjectOutputStream

ObjectInputStream和ObjectOutputStream是Java中用于对象序列化和反序列化的重要工具&#xff0c;它们属于Java I/O库中的对象流。 基本功能&#xff1a; ObjectOutputStream&#xff1a;主要用于将Java对象&#xff08;必须是实现了Serializable接口的类的对象&#xff09;写…

【Java SE】超详细讲解String类

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 初步认识String2. String类的常用方法2.1 字符串构造2.2 String对象比较2.2.1 比较是否引用同一个对象2.2…

【Pandas】深入解析`pd.read_json()`函数

【Pandas】深入解析pd.read_json()函数 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#x…

unity开发Hololens,使用unity自带的UGUI

hololens 使用UGUI 新建画布&#xff0c;添加组件&#xff0c; 画布模式改成WorldSpace&#xff0c;这样在能在3D场景里 随意的移动位置&#xff0c; 添加NearIteractionTouchaBleUnityUI、CanvasUtility组件 EaventsToReceive改成Pointer&#xff0c; 这样&#xff0c;UGUI的…

TC3xx分析--如何提高系统运行效率(2)

目录 1.概述 2.限定符对于代码的影响 3.小结 1.概述 上文TC3xx分析--如何提高系统运行效率(1)-CSDN博客讲解了Tasking中lsl的某些关键定义&#xff0c;简述了Tricore寻址模式&#xff0c;接下来我们继续看&#xff0c;不同memory限定符对于代码的影响。 2.限定符对于代码的…

振弦式位移计在各类工程中的应用

振弦式位移计&#xff0c;作为一种高精度、高可靠性的测量工具&#xff0c;在各类工程中发挥着至关重要的作用。它通过测量弦的振动频率来间接得出结构的位移变化&#xff0c;为工程师和科学家们提供了精确的数据支持&#xff0c;从而确保工程的安全性和稳定性。 点击输入图片描…

ASTRONEER异星探险家服务器开服多人联机

1、购买后登录服务器 进入控制面板后会出现正在安装的界面&#xff0c;安装大约5分钟&#xff08;如长时间处于安装中请联系我们的客服人员&#xff09; 2、获取数字IP地址 使用IP 地址查询网站将服务器IP地址填入后点击查询&#xff08;查询的时候将地址冒号后方的数字以及冒…

五种不寻常的身份验证绕过技术

身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞&#xff0c;也是隐藏最深很难被发现的漏洞。 为此安全防护人员不断在开发新的认证方法&#xff0c;保障组织的网络安全。尽管单点登录(SSO)等工具通常是对旧的登录用户方式的改进&#xff0c;但这些技术仍然可能包含严重的…

Java 阻塞队列与生产者消费者模型

一、阻塞队列 阻塞队列是⼀种特殊的队列&#xff0c;其也遵守队列 "先进先出" 的原则&#xff1b; 阻塞队列是⼀种线程安全的数据结构&#xff0c;并且具有以下特性&#xff1a; 当队列满的时候&#xff0c;继续入队列就会阻塞&#xff0c;直到有其他线程从队列中…

JWT身份验证相关安全问题

前言&#xff1a;工作中需要基于框架开发一个贴近实际的应用&#xff0c;找到一款比较合适的cms框架&#xff0c;其中正好用到的就是jwt做身份信息验证&#xff0c;也记录一下学习jwt相关的安全问题过程。 JWT介绍 Json web token (JWT), 是为了在网络应用环境间传递声明而执行…

如何遍历并处理不平衡的Python数据集

目录 一、引言 二、不平衡数据集的概念与影响 三、处理不平衡数据集的策略 重采样策略 集成学习方法 代价敏感学习 一分类方法 四、Python工具与库 五、案例分析与代码实现 案例一&#xff1a;使用imbalanced-learn库进行上采样 案例二&#xff1a;使用scikit-learn…

基于L1范数惩罚的稀疏正则化最小二乘心电信号降噪方法(Matlab R2021B)

L1范数正则化方法与Tikhonov正则化方法的最大差异在于采用L1范数正则化通常会得到一个稀疏向量&#xff0c;它的非零系数相对较少&#xff0c;而Tikhonov正则化方法的解通常具有所有的非零系数。即&#xff1a;L2范数正则化方法的解通常是非稀疏的&#xff0c;并且解的结果在一…

CentOS 8 (stream) 迁移到 其他开源linux almalinux

Centos8 迁移到 almalinux 只需要下载迁移脚本即可 #wget -c https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh #chmod x almalinux-deploy.sh //对于centos Stream迁移需要加上降级参数 almalinux-deploy.sh --downgrade

vue 笔记02

目录 01 事件修饰符 02 按键修饰符 03 v-bind属性 04 vue-axios的基本使用 05 vue的生命周期 06 vue生命周期涉及到的其他的知识点 01 事件修饰符 vue的事件修饰符 事件名称.修饰符1.修饰符2...事件驱动函数 stop 阻止冒泡修饰符 prevent 阻止默认行为 once 当前事件只触…