Debian 爱好者社区 为您找到相关结果 557

三个技巧 大幅减少 Docker 镜像体积

在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文

博文 2018-09-06 10:50:29 debian.cn

Calico 介绍、原理与使用-腾讯云社区

力,从而限制了整个网络的扩张。(可以使用大规模方式解决)每个node上会设置大量(海量)的iptables规则、路由,运维、排障难大。原理决定了它不可能支持VPC,容器只能从calico设置的网段中获取ip。Calico 管理工具calicoctl 工具安装代码语言:javascript复制# 下载工具:https://github.com/projectcalico/calicoctl/releases $ wget -O /usr/local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download/v3.13.3/calicoctl $ chmod +x /usr/local/bin...阅读全文

博文 2025-02-19 15:44:39 腾讯云

WebAssembly:无需容器的 Docker (上)

,实现 WASI 和 WebAssembly 应用程序的标准化。🚀 快速 —— 它可以通过大多数运行时的 JIT/AOT 能力提供类似原生的速。 与启动 VM 或启动容器不同的是,它没有冷启动。🔒 安全 —— 默认情况下,Wasm 运行时是沙箱化的,允许安全访问内存。 基于能力的模型确保 Wasm 应用程序只能访问得到明确允许的内容。软件供应链更加安全。💼 可移植 —— 几个主要的 Wasm 运行时支持大多数 CPU(x86、ARM、RISC-V)和大多数操作系统,包括 Linux、Windows、macOS、Android、ESXi,甚至非 Posix 操作系统。🔋 高效 —— 最小的内存占用和最低的 CPU 门槛就能运行 Wasm 应用程序。🗣️ 支持多语言 ——40 多种编程...阅读全文

博文 2023-01-03 06:35:56 spider

基于thanos搭建分布式prometheus

prometheus存在单点问题,具体痛点可以这么描述: prometheus单机存储和抓取能力都有上限,容易单点故障。 虽然有一种方式是通过部署N个prometheus分别抓取不同的target来分摊压力的,但是grafana就要为不同的图表配置不同的prometheus地址,复杂程比较棘手。 thanos+prometheus可以解决这个问题,它提供了一个核心能力: 1,thanos querier组件可以反向代理到N个prometheus,然后grafana直接指向thanos querier即可,thanos querier会从N个prometheus同时查询数据,返回满足Promql的数据结果; 2,如果N个prometheus抓取的数据存在重复的,那么thanos...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

SVN切换分支用法汇总

,在进行分支切换之前,一定要先保存修改。2. 切换分支要保证分支版本库状态干净在进行分支切换操作之前,我们需要保证代码分支版本库的状态是干净的,即没有未提交的修改。否则,分支操作可能会导致一些未提交的修改全部丢失。3. 切换分支要保证源分支和目标分支都在同一版本库中SVN是针对版本库来进行代码管理的,所以在进行分支切换时,源分支和目标分支都必须在同一个版本库中。否则,你就需要进行多库协同编程,难会增加很多。4. 将切换分支操作单独进行为避免出现一些问题,一般我们建议将分支切换操作独立出来,不要和其他代码操作混在一起。这样做可以使我们的代码更加清晰,也可以有效地避免出现一些不必要的操作。5. 多人协作时切换分支需要谨慎当多人协作时,任何一个人都可能进行分支切换的操作,这时每个人都应该非常谨慎...阅读全文

博文 2023-06-09 14:22:35 infras

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。总结context主要用于父子任务之间的同步取消信号,本质上是一种协程调的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

博文 2021-01-27 09:05:27 知乎

Gitlab CI 配置文件 .gitlab

: variables: GET_SOURCES_ATTEMPTS: 3 你可以在全局variables模块中设置,也可以在单个job的variables模块中设置。 Shallow cloning GitLab 8.9 以实验性功能引入。在将来的版本中有可能改变或者完全移除。 你可以通过GIT_DEPTH来指定抓取或克隆的深。它可浅层的克隆仓库,这可以显著加速具有大量提交和旧的大型二进制文件的仓库的克隆。这个设置的值会传递给git fetch和git clone。 注意:如果设置depth=1,并且有一个jobs队列或者是重试jobs,则jobs可能会失败。 由于Git抓取和克隆是基于一个REF,例如分支的名称,所以Runner不能指定克隆一个commit SHA。如果队列中有多个jobs,或者您正在重试旧...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)