首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏帅云霓的技术小屋

    容器网络硬核技术内幕 (2) 容器

    新一代计算资源调度的革命性创新就是我们这个专题的主角——容器技术。 容器技术是利用Linux的namespace机制实现的。 这样一来,由于各个硬件厂商可以为容器编排平台提供自己的驱动或插件,容器可以自行访问所需要的硬件,如存储设备、GPU、RDMA网卡等。 容器本身的运行机制,市面上的书籍早已汗牛充栋,在此暂且略过。 我们知道,容器技术的一个重要特点就是,几乎所有的容器存在的意义,最终都要落实到为向外部网络上的主机或其他终端提供服务。 可以说,容器网络技术,是容器技术的精华所在,是最难理解的部分,学懂容器网络,就是摘取了ICT前沿技术皇冠上的明珠! 同样地,如果想理解容器网络的组成和性质,我们就需要从实例开始学习。 因此,让我们从实例分析开始,来洞察容器技术中的精华。

    46610编辑于 2022-07-27
  • 来自专栏c++与qt学习

    SpringBoot2----容器功能

    ,例如在People类里面,Cat类是People里的一个属性,这样People和cat类之间就产生了依赖关系 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也是单实例的 2、配置类本身也是组件 对象都会调用tomcatPet()这个方法 当容器中的myconfig是一个代理类时,每次调用方法之前都会检查springboot容器中是否有Pet对象,如果有就会直接从容器中取出,没有才调用方法创建对象 ---- 2、@Bean、@Component、@Controller、@Service、@Repository这些注解都可以用来注册组件到容器中,当然注册组件到容器中的方法不止这些 ---- 3、@ComponentScan 把这个Car这个组件自动注册到容器中 @SpringBootApplication public class SpringBoot2Demo1Application { public static );给容器中批量导入一些组件 2、调用List<String> configurations = getCandidateConfigurations(annotationMetadata, attributes

    53150发布于 2021-11-15
  • 来自专栏技术杂记

    Redis 容器与配置(2)

    启动一个redis容器 由于本地并没有 redis 镜像,所以它会自动去 dockerhub 上拉取 [root@h104 ~]# docker run --name test-redis -d redis find image 'redis:latest' locally latest: Pulling from library/redis 70e9a6907f10: Pull complete 32f2a4cccab8 Pull complete 840927008ad0: Pull complete 970117e3ce7f: Pull complete 9d6240c55f04: Pull complete b2f46bd01929 ~]# 从日志中可以看到,redis通过检查系统配置给出了一些优化建议,以便更好的发挥其性能 这种状态下的redis在后台运行,没有公开端口可以让外面的客户端直连 但是可以通过link的方式,实现容器间的对接

    50610发布于 2021-10-20
  • 来自专栏技术杂记

    Rails 容器与配置(2)

    不过话说回来,正因为这些基础,这个应用可以自立根生,除了系统内核和Docker提供的隔离环境,它的运行不再看其它环境或基础设施的脸色,可以独立运行了 Tip: 同时,它依赖的那么多层基础镜像是可以和其它容器共享的 ,并非每次都是成倍的磁盘空间需求,大量相似容器的环境中,一定程度上还节约了磁盘空间 可以看看镜像的详细内容 [root@h104 blog2]# docker inspect afdddae9b2bf [ { "Id": "afdddae9b2bf7469476e271850590aaee2e2c7353121e2801f4c3bd35b30e324", "RepoTags": [ "rails:latest" ], "RepoDigests": [], "Parent": "fc2eabed675c24b767c4d78dfad2c8a525f778e06a81278a169e262e4ccc9eff "Data": { "DeviceId": "294", "DeviceName": "docker-253:0-134859501-afdddae9b2bf7469476e271850590aaee2e2c7353121e2801f4c3bd35b30e324

    62430发布于 2021-10-20
  • 来自专栏数据科学(冷冻工厂)

    Docker|了解容器镜像层(2)

    引言 容器非常神奇。它们允许简单的进程表现得像虚拟机。在这种优雅的底层是一组模式和实践,最终使一切运作起来。在设计的根本是层。层是存储和分发容器化文件系统内容的基本方式。 最终的提交快照是作为容器文件系统挂载的那一个。 使用我们之前的例子: 初始层,FROM scratch,意味着我们可以从下一层和一个空目录开始。没有父层。 创建了一个 layer2 的目录。 文件 layer2.tar.gz 被下载、验证(通过比较摘要和文件名),并解压到目录中。结果是包含 /work/message.txt 的目录。这是第一个提交快照。 创建了一个 layer3 的目录,并将 layer2 的内容复制进去。这是一个新的活动快照。文件 layer3.tar.gz 被下载、验证并解压。 这是现代容器的本质——容器是使用操作系统的原生特性组合而成的。

    24410编辑于 2024-06-18
  • 来自专栏海说

    Spring IOC容器分析(2) -- BeanDefinition

    上文对Spring IOC容器的核心BeanFactory接口分析发现:在默认Bean工厂DefaultListableBeanFactory中对象不是以Object形成存储,而是以BeanDefinition 类封装后存放在并发容器ConcurrentHashMap中的,如下所示: /** Map of bean definition objects, keyed by bean name */ private ConfigurableBeanFactory.SCOPE_PROTOTYPE; int ROLE_APPLICATION = 0; int ROLE_SUPPORT = 1; int ROLE_INFRASTRUCTURE = 2; 本文介绍了Spring IOC容器中一个非常重要的接口BeanDefinition,以及解释了为啥beanDefinitionMap中存储的是BeanDefinition。

    1.2K00发布于 2017-12-28
  • 来自专栏Ywrby

    2-Docker容器数据卷

    Docker容器数据卷 数据卷概述 实际开发中,数据的持久化以及数据交互都是十分重要的功能,所以Docker需要处理以下问题 Docker容器删除后,容器中的应用数据是否被删除 Docker容器与外部机器 ,数据卷与容器不是一一对应的关系,一个数据卷可以挂载多个容器,一个容器也可以被挂载多个数据卷 数据卷的作用 保证容器数据的持久化 实现容器与宿主机之间的文件交换 实现Docker容器之间的文件交换 配置数据卷 ,其中一种是将所有容器都挂载到一个数据卷上,但这样比较繁琐,并且不便于管理,除了这种方式还可以通过数据卷容器的方式进行多个文件之间的共享 方法就是创建一个容器,挂载到一个数据卷上,随后让其他容器继承自该容器 ,这个容器被称为数据卷容器 # 创建容器,挂载到一个数据卷上(这里只给了数据卷的路径,则容器路径会自动分配) docker run -it --name c1 -v /volume centos:latest # 其他容器创建时挂载到该容器上,通过--volumes-from指定数据卷容器 docker run -it --name c2 --volumes-from c1 centos:latest docker

    53220编辑于 2022-10-27
  • 来自专栏EdisonTalk

    容器监控知多少(2)cAdvisor

    (Container Advisor),它为容器用户提供了对其运行容器的资源使用和性能特征的直观展示。  [2e5ppdml1i.png] 三、使用cAdvisor 3.1 监控容器   cAdvisor提供了对Host和容器的监控,单击“Docker Containers”链接:   [dikswdbv4j.png ]    我们即可进入容器监控列表    [aiynfw3l10.png]    单击其中某个容器例如exceptionless_api_1,即可进入该容器实例的监控页面(前方长图,注意流量):     [s309xc0as2.png]    我们可以清楚地看到:CPU、内存、网络、文件系统的动态使用情况。 参考资料 Cloud Man,《每天5分钟玩转Docker容器技术》 二二向箔,《容器监控实践-cAdvisor》 Ein Verne,《使用Google出品的cAdvisor监控Docker容器

    1.4K70发布于 2019-10-29
  • 来自专栏MeowRain的博客

    Docker初步使用-2容器基本使用)

    pull ubuntu 启动容器 以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器: $ docker run -it ubuntu /bin/bash 参数说明: -i: ,如果想要关闭它,下面会介绍docker容器的停止以及启动,重启 停止一个容器 $ docker stop <容器 ID> 重启一个容器 $ docker restart <容器 ID> 启动已停止运行的容器 查看所有的容器命令如下: $ docker ps -a 可以看到这个容器是关闭的 Exited (0) 2 seconds ago 使用 docker start 启动一个已停止的容器: $ docker 两种进入容器方法的区别 使用 docker exec ,输入exit不会关闭容器 使用 docker attach。 输入exit会关闭容器 接下来我们从下面这两张图中来查看区别: 删除容器 删除容器使用 docker rm 命令: 这里的例子使用网图,我这里还会用就不卸载了 $ docker rm -f 1e560fca3906

    52030发布于 2021-05-06
  • 来自专栏容器计算

    【impala】在容器里编译impala(2)

    在篇1忘记说编译的环境了,是在 dockerhub 的 centos:7 镜像里执行的操作,各位参考一下。下面继续排雷过程。

    89110发布于 2021-08-06
  • 来自专栏散尽浮华

    Docker容器学习梳理--基础知识(2

    /var/volume2/ /var/volume2/test2 /var/volume2/test22 /var/volume2/test222 3)备份wang容器中的/var/volume1和 var/volume2/test2 var/volume2/test22 var/volume2/test222 再次到容器里查看,发现数据卷里的数据已经恢复了 [root@531c9d8adf4c 2)恢复数据给另外的容器,新建容器并解压备份文件到新的容器数据卷 即新建一个容器huihui,将上面备份的数据卷数据恢复到这个新容器里。 var/volume2/test2 var/volume2/test22 var/volume2/test222 [root@localhost ~]# 查看容器,发现只恢复了/var/volume1 var/volume2/test2 var/volume2/test22 var/volume2/test222 发现容器内数据没有恢复 [root@9bad9b3bde71 /]# ls /var

    2.3K100发布于 2018-01-23
  • 来自专栏twowinter

    Docker入门教程 Part 2 容器操作

    我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 基础介绍 Compose is a tool for defining and running multi-container 前面了解了使用 Dockerfile 模板文件来定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。 例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 Compose 恰好满足了这样的需求。 Define your app’s environment with a Dockerfile so it can be reproduced anywhere. 2. ,实际上可以包括若干运行相同镜像的容器实例。

    40320发布于 2020-04-17
  • 来自专栏DevOps时代的专栏

    E2E 测试容器化实践

    齐磊,ThoughtWorks 高级质量咨询师 今天给大家带来的话题是E2E容器化实践,可能QA更关注些。 在互联网最初之时,没有任何容器化的概念,那么刚开始的时候是怎样开发软件或者是网站的吗? 进入今天的正题,欢迎来到测试容器化时代。容器化能给QA带来哪些方面的测试,第一个是单元测试,第二个是集成测试,第三个是E2E测试。 实践五这一块是用Docker去管理不同的服务,这里有两个服务,一个服务是刚才提到的产品服务,它用了2个Docker,3000和9999,让测试者能访问到产品服务。 运行E2E测试 最早的时候容器化尝试是这样,怎么在没有界面的情况下去运行,我们知道端到端测试需要页面做一些操作,在容器里怎么做操作? 持续集成 什么时候用trigger E2E testing,我们知道端到端的测试,项目比较小可能运行时间需要2-3分钟,项目大的话可能一两个小时。

    1.9K20发布于 2018-08-01
  • 来自专栏码农小胖哥的码农生涯

    Spring Boot 2 实战:结合 Docker 容器

    那么今天我将如何将 Spring Boot 应用容器化。 2. 启动容器 命令行 执行 docker images 查看一下是否存在 一个 docker-springboot:0.0.1 的镜像,只要结果跟上图一样就一定存在。 docker-springboot:0.0.1 镜像启动一个名字叫 docker-app的容器应用,同时将容器内部端口8080映射到宿主机端口8088 ,这样我们可以通过本地端口8088访问容器端口8080 这样我们就简单的实现了 Spring Boot 应用的容器化 7. 总结 应用容器化是近年来的热点。而且容器技术层出不穷,掌握应用的容器化技术还是很有必要的。 今天我们一步一步从零利用 Docker 构建了一个 Spring Boot 容器 。希望对你有所帮助。

    97420发布于 2019-12-10
  • 来自专栏叽叽西

    2. Spring IOC 与容器的概念

    核心容器模块 核心容器 由以下模块组成,spring-core, spring-beans,spring-context,spring-context-support,和spring-expression Spring 容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存到死亡。 容器是 Spring 框架的核心。 Spring 容器使用DI管理构成应用的组件,它会创建相互协作的组件之间的关联。毫无疑问,这些对象更简单干净,更易于理解,更易于重用并且更易于进行单元测试。 Spring 容器并不是只有一个。 Spring 自带了多个容器实现,可以归为两种不同的类型。 在 Spring Ioc 容器的代表就是 org.springframework.beans 包中的 BeanFactory 接口,BeanFactory 接口提供了 IoC 容器最基本功能;而 org.springframework.context

    36030编辑于 2022-05-17
  • 来自专栏cuijianzhe

    docker容器命名和资源配额控制(2)

    latest "/bin/bash" About a minute ago Up About a minute docker2 COMMAND CREATED STATUS PORTS NAMES f2afaa28abc8 centos bash ec295f4752e2e008020d0ef19569b72f6e715ed9e3fbb619cb068115ecdb2e4e [root@bogon ~]# docker stop docker [root@bogon ~]# systemctl start docker [root@bogon ~]# docker ps | grep 111 ec295f4752e2 ---- 标题:docker容器命名和资源配额控制(2) 作者:cuijianzhe 地址:https://solo.cjzshilong.cn/articles/2019/03/27/1553650586883

    75930编辑于 2022-06-14
  • 来自专栏黑光技术

    云原生技术解读2-云原生运行时:容器容器编排

    从发展历史和实现思路上来说虚拟技术可以分为 2 类技术: 全虚拟化技术 半虚拟化技术 全虚拟化 全虚拟化(FullVirtualization)也称为原始虚拟化技术,该模型使用虚拟机协调Guest操作系统和原始硬件 **目前全球的云厂商都是支持容器部署方式,而且是主流方式。总结来看使用容器技术开发和部署应用程序的如下好处。 容器的轻量带来了容器本身创建和启动速度非常快捷,而且管理成本和稳定性更好。 容器技术大大简化了应用程序的分发和部署,可以说容器技术是云原生应用发展的基础。 运行时技术:容器编排技术 有了容器技术做应用程序的分发和部署就万事大吉了吗?还有没有其它的问题? 而且目前 Kuberneters 的开源社区非常活跃,我们本人也参与了 Kuberneters 社区的 2 个项目: 社区文档项目:我主要参与中文文档的翻译和review。 作为云原生技术的底座,容器容器编排技术是必须要学习的。当然大家也看到了我对容器的介绍并不多,反而对容器编排技术 K8S 做了较多的介绍。

    1.7K30发布于 2021-11-30
  • 来自专栏超级架构师

    「第二部:容器和微服务架构」(2) 容器化单体应用

    您可能需要构建一个单独的、整体部署的web应用程序或服务,并将其部署为一个容器。应用程序本身可能不是内部单一的,而是由几个库、组件甚至层(应用程序层、域层、数据访问层等)构成。 但是,在外部,它是一个容器—单个进程、单个web应用程序或单个服务。 要管理此模型,可以部署一个容器来表示应用程序。为了增加容量,您可以向外扩展,也就是说,只需在前面添加更多带有负载平衡器的副本。 简单性来自于在单个容器或VM中管理单个部署。 ? 图1 容器化单体应用程序的体系结构示例

    69431发布于 2020-07-18
  • 来自专栏Tom弹架构

    Spring核心原理之IoC容器初体验(2

    我们需要创建一个容器,同时需要一种描述来让容器知道要创建的对象与对象的关系。这个描述最具体的表现就是我们所看到的配置文件。 (2)描述对象关系的文件存放在哪里?可能是classpath、filesystem或者URL网络资源、servletContext等。 2 Spring核心容器类图 2.1. ApplicationContext是Spring提供的一个高级的IoC容器,它除了能够提供IoC容器的基本功能,还为用户提供了以下附加服务。 (2)访问资源(实现ResourcePatternResolver接口,后面章节会讲到)。(3)支持应用事件(实现ApplicationEventPublisher接口)。 2.2.

    36530编辑于 2021-12-27
  • 来自专栏finleyMa

    docker学习系列2 保存对容器的修改

    接上篇 docker容器虽然运行起来了。 由于容器本身是无状态的我修改完配置文件,关闭docker,下次在启动后还是原样,我需要保存修改。 然后 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 如 docker commit cb439fb2c714 finley/phpenv:tp3.2 commit 会基于对container的修改创建一个新的镜像 具体用法请参见官方文档:commit 注意: 经查,不推荐更改运行中的容器配置,容器本身是无状态的,当然也可以通过进入容器内部的方式进行更改 # 从别人那拉个镜像 docker pull eriksencosta/php-dev # 基于上面的镜像加入了自己的修改并提交为自己的镜像,还打了tag docker commit cb439fb2c714

    5.8K10发布于 2018-09-10
领券