当前位置: 首页 > news >正文

(一)Docker简介(一篇足以)

一、简介

一个项目环境配置相当麻烦,如果换一台机器跑起来,所有配置就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。

开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。不过,即便如此,仍然常常发生部署失败的状况。Docker的出现使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。

Docker是一个开源的应用容器引擎,也可以实现虚拟化,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 使用沙箱机制,相互之间不会有任何接口。系统平滑移植,容器虚拟化技术

docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中.

Docker理念

Docker是基于Go语言实现的云开源项目。

Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。

Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

一句话: 解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。

Docker的基本组成

镜像(Image) :Docker镜像就像是一个模板,可以通过这个模板来创建Docker容器,比如Ubuntu系统,MySQL镜像,redis镜像。

容器(Container) : Docker利用容器来运行应用,容器是从镜像创建的运行实例。如启动MySQL容器

仓库(Repository) :Docker仓库用于保存镜像,可以理解为代码控制中的代码仓库。Docker Hub是公共仓库。

Docker的工作原理

Docker的工作原理是镜像与容器分离。

开发人员制作应用镜像并上传到仓库。

运维人员可以获取所需应用镜像,并启动应用容器。

一个应用可以同时启动多个相同的容器实例。

Docker常用命令

启动docker:sudo systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

搜索镜像:docker search 镜像名

拉取镜像:docker pull 镜像名

列出镜像:docker images

删除镜像:docker rmi 镜像id

启动容器:docker run 镜像id(参数)

停止容器:docker stop 容器id或名称

重启容器:docker restart 容器id或名称

查看正在运行的容器:docker ps

查看所有的docker容器:docker ps -a

进入容器:docker exec -it 容器id /bin/bash

Docker优点

更高效的利用系统资源-

更快速的启动时间-

一致的运行环境-

持续交付和部署-

更轻松的迁移和维护

Docker已经成为最流行的软件容器平台,可以极大提高开发和运维的效率。

相关文章:

(一)Docker简介(一篇足以)

一、简介 一个项目环境配置相当麻烦,如果换一台机器跑起来,所有配置就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环…...

RK3568 安卓源码编译

一.repo安卓编译工具 项目模块化/组件化之后各模块也作为独立的 Git 仓库从主项目里剥离了出去,各模块各自管理自己的版本。Android源码引用了很多开源项目,每一个子项目都是一个Git仓库,每个Git仓库都有很多分支版本,为了方便统…...

第4篇:vscode+platformio搭建esp32 arduino开发环境

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 1.配置默认安装路径,安装到D盘。 打开环境变量,点击新建 输入变量名PLATFORMIO_CORE_DIR与路径:D:\PLATF…...

2023前端面试笔记 —— CSS3

系列文章目录 内容链接2023前端面试笔记HTML52023前端面试笔记CSS3 文章目录 系列文章目录前言一、CSS选择器的优先级二、通过 CSS 的哪些方式可以实现隐藏页面上的元素三、px、em、rem之间有什么区别?四、让元素水平居中的方法有哪些五、在 CSS 中有哪些定位方式六…...

iOS 如何对整张图分别局部磨砂,并完全贴合

官方磨砂方式 - (UIVisualEffectView *)effectView{if(!_effectView){UIBlurEffect *blur [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];_effectView [[UIVisualEffectView alloc] initWithEffect:blur];}return _effectView; }使用这种方式对一张图的上半部分和…...

Packet_Tracer的使用

一、实验目的: 通过该实验了解Packet Tracer的使用方法,能够用Packet Tracer建立和模拟网络模型。 二、主要任务: 1.熟悉PT的界面,了解按键用途。 2.尝试自己建立一个小型网络,并测试连通性。 3.学习P…...

WPF如果未定义绑定的属性,程序如何处理

问题&#xff1a;wpf中&#xff0c;<Button IsEnabled"{Binding IsValid1}"></Button>&#xff0c;如果没定义绑定的属性IsValid1&#xff0c;可以正常用吗 解答&#xff1a;在 WPF 中&#xff0c;如果没有定义绑定的属性 IsValid1&#xff0c;会导致绑…...

韩国留学生生活之-租房篇,柯桥韩语培训留学韩语需要学到什么程度

对于计划在韩国留学的人来说&#xff0c;找到合适的租房是一个重要而且有挑战性的任务。 留学生遇到的常见租房类型为月付型、全税房。月付型就是我们常见的租房方式&#xff0c;一般都需要支付一个月或数个月月租的押金&#xff0c;按时间付房租即可&#xff0c;租期通常为一…...

论文笔记:基于概念漂移的在线类非平衡学习系统研究

0 摘要 论文&#xff1a;A Systematic Study of Online Class Imbalance Learning With Concept Drift 发表&#xff1a;2018年发表在TNNLS上 源代码&#xff1a;&#xff1f; 作为一个新兴的研究课题&#xff0c;在线类非平衡学习往往结合了类非平衡和概念漂移的挑战。它处理…...

ubuntu22.04下rv1109 rootfs编译问题处理

ubuntu22.04下rv1109 rootfs编译问题处理 buildroot编译出错记录问题一&#xff1a;c-stack.c的SIGSTKSZ错误解决办法问题二&#xff1a;libfakeroot.c的_STAT_VER报错解决办法问题三&#xff1a;fwriter_buffer重复定义解决办法问题四&#xff1a; qfloat16.h报错解决办法问题…...

Spring Boot Dubbo Zookeeper

文章目录 Spring Boot Dubbo Zookeeper简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper 简介 Dubbo Common 公共依赖 <!-- Spring Boot Starter --> <dependency><groupId>org.springframework.boot</groupId><artifac…...

线程池的概念及实现原理

本篇是对前面线程池具体实现过程的补充&#xff0c;实现过程可参考 线程池的实现全过程v1.0版本&#xff08;手把手创建&#xff0c;看完必掌握&#xff01;&#xff01;&#xff01;&#xff09;_竹烟淮雨的博客-CSDN博客 线程池的实现v2.0&#xff08;可伸缩线程池&#xf…...

iOS App逆向之:iOS应用砸壳技术

在iOS逆向&#xff0c;有一项关键的技术叫做“iOS砸壳”&#xff08;iOS App Decryption&#xff09;。自iOS 5版本以来&#xff0c;苹果引入了应用程序加密机制&#xff0c;使得大部分应用都需要进行砸壳操作才能进行逆向分析。因此作为开发者、逆向工程师和安全研究人员都需要…...

【高性能计算】opencl安装及相关概念

目录 从异构计算讲起opencl安装的相关说明查看linux系统cpu及gpu型号方法安装opencl helloword程序运行 从异构计算讲起 异构计算是一种利用多种不同类型的计算资源来协同解决计算问题的方法。它的核心思想是将不同特性和能力的计算设备&#xff08;例如CPU、GPU、FPGA等&…...

盛最多水的容器——力扣11

int maxArea(vector<int>& height) {int l=0, r=height.size()...

2023年高教社杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…...

Flink_state 的优化与 remote_state 的探索

摘要&#xff1a;本文整理自 bilibili 资深开发工程师张杨&#xff0c;在 Flink Forward Asia 2022 核心技术专场的分享。本篇内容主要分为四个部分&#xff1a; 相关背景state 压缩优化Remote state 探索未来规划 点击查看原文视频 & 演讲PPT 一、相关背景 1.1 业务概况 从…...

Kdab QML (part9)自由缩放时钟

文章目录 Kdab QML (part9)自由缩放时钟代码详细解释运行截图 Kdab QML (part9)自由缩放时钟 代码 import QtQuick 2.15 import QtQuick.Window 2.15Window {id: rootwidth: 500height: 500visible: truecolor: "lightgrey"title: qsTr("Hello World")It…...

Java网络编程(二)经典案例[粘包拆包]

粘包拆包 概述 TCP是面向流的协议,TCP在网络上传输的数据就是一连串的数据,完全没有分界线。 TCP协议的底层并不了解上层业务的具体定义,它会根据TCP缓冲区的实际情况进行包的划分。 在业务层面认为一个完整的包可能会被TCP拆分成多个小包进行发送,也可能把多个小的包封装成一…...

无分布式锁的ID生成

起因 TEAM GARDEN 本来ID是自增的&#xff0c;后面发现自增ID比较麻烦&#xff0c;有问题&#xff1a; 不可控的间隔&#xff1a; 如果你在插入数据时&#xff0c;中途删除了一些行&#xff0c;导致自增的ID出现间隔&#xff0c;那么新插入的行会填充这些间隔&#xff0c;可能…...

什么时候会触发FullGC

面试 1、老年代空间不足。应该让对象在年轻代多存活一段时间&#xff0c;不要创建过大的对象及数组。 2、元空间满了。说明此时&#xff0c;系统中要加载的类、反射的类和调用的方法较多。 3、MinorGC执行后晋升到老年代的平均大小大于老年代的剩余空间。...

进阶篇第5节:共享内存(三)——实战:优化矩阵乘法(Tiling技术)

第二篇进阶篇第5节:共享内存(三)——实战:优化矩阵乘法(Tiling技术) 从朴素到分块,从分块到极致——矩阵乘法的优化之路,就是CUDA性能优化的缩影 写在前面 矩阵乘法是CUDA优化中最经典的案例,没有之一。在筑基篇,我们实现了朴素版本和基础分块版本,性能从 252 GFLO…...

3种策略实现百度网盘提取码智能解析效率提升85%

3种策略实现百度网盘提取码智能解析效率提升85% 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 副标题&#xff1a;分布式检索技术突破与资源获取效率革命 核心痛点&#xff1a;为何获取提取码成为数字资源流通的主要瓶颈&am…...

测试用例设计-XMind

&#x1f680; 一、XMind 用例设计核心思路&#x1f449; 和传统Excel不同&#xff0c;XMind强调&#xff1a;以“功能模块”为主干 以“用户场景”为分支 以“测试点”为叶子节点&#x1f449; 本质结构&#xff1a;模块 → 场景 → 用例点 → 具体测试数据/预期&#x1f4cc;…...

OpenClaw+百川2-13B:个人知识库自动整理与问答系统搭建

OpenClaw百川2-13B&#xff1a;个人知识库自动整理与问答系统搭建 1. 为什么需要本地化知识管理系统 去年整理博士论文资料时&#xff0c;我遇到了一个典型的研究者困境&#xff1a;电脑里堆积了237个PDF、643篇网页存档和无数零散的笔记片段&#xff0c;但需要引用某个概念时…...

大模型赋能金融底稿搜索:告别大海捞针,实现高效精准合规管理!

文章主要介绍了达观数据利用大模型技术升级其底稿搜索产品&#xff0c;为金融行业带来革命性的变化。传统底稿搜索存在关键词匹配局限、非结构化文件解析困难、溯源关联不便和合规风险高等问题。达观数据通过深度语义理解、全格式解析兼容、智能要素抽取、全链路溯源关联和开箱…...

终极对比指南:Autoenv vs 其他环境管理工具,如何选择最适合你的目录环境自动化方案

终极对比指南&#xff1a;Autoenv vs 其他环境管理工具&#xff0c;如何选择最适合你的目录环境自动化方案 【免费下载链接】autoenv Directory-based environments. 项目地址: https://gitcode.com/gh_mirrors/au/autoenv Autoenv是一款强大的目录环境自动化工具&#…...

利用快马平台快速构建mcporter数据转换工具原型,十分钟验证数据管道设计

最近在做一个数据迁移项目时&#xff0c;遇到了需要频繁转换数据格式的需求。传统方式下&#xff0c;光是搭建开发环境、编写基础代码就要花上大半天时间。这次尝试用InsCode(快马)平台快速构建了一个mcporter数据转换工具原型&#xff0c;整个过程出乎意料地顺畅。 明确核心需…...

告别两阶段!用单个冻结的ConvNeXt CLIP搞定开放词汇分割,速度提升6.6倍

FC-CLIP&#xff1a;用冻结卷积CLIP重塑开放词汇分割的工程实践 开放词汇分割技术正在彻底改变计算机视觉应用的边界。想象一下&#xff0c;当自动驾驶车辆遇到从未在训练数据中出现过的障碍物&#xff0c;或是电商平台需要即时识别刚刚上市的新商品时&#xff0c;传统封闭词汇…...

3大核心能力:黑苹果爱好者的系统构建指南

3大核心能力&#xff1a;黑苹果爱好者的系统构建指南 【免费下载链接】Hackintosh 国光的黑苹果安装教程&#xff1a;手把手教你配置 OpenCore 项目地址: https://gitcode.com/gh_mirrors/hac/Hackintosh 评估硬件兼容性 为什么同样的硬件配置&#xff0c;别人的黑苹果…...