如何创建一个 Docker 镜像在 前面的文章 中,我们学习了在 Linux、macOS、以及 Windows 上如何使用 Docker 的基础知识。在这篇文章中,我们将学习创建 Docker 镜像的基本知识。我们可以在 DockerHub 上得到可用于你自己的项目的预构建镜像,并且也可以将你自己的镜像发布到这里。 我们使用预构建镜像得到一个基本的 Linux 子系统,因为,从头开始构建需要大量的工作。你可以使用 Alpine( 云运维 2023-07-30 法医
对构建系统进行容器化的指南搭建一个通过容器分发应用的可复用系统可能很复杂,但这儿有个好方法。 一个用于将源代码转换成可运行的应用的构建系统是由工具和流程共同组成。在转换过程中还涉及到代码的受众从软件开发者转变为最终用户,无论最终用户是运维的同事还是部署的同事。 在使用容器搭建了一些构建系统后,我觉得有一个不错的可复用的方法值得分享。虽然这些构建系统被用于编译机器学习算法和为嵌入式硬件生成可加载的软件镜像,但这个方法足够抽象 云运维 2023-07-30 剑圣无痕
如何在没有构建系统的情况下编写Javascript(什么是构建系统)嗨!这周我一直在写一些 Javascript,和往常一样,当我开始一个新的前端项目时,我面临的问题是:我是否应该使用构建系统? 我想谈谈构建系统对我有什么吸引力,为什么我(通常)仍然不使用它们,以及一些前端 Javascript 库要求你使用构建系统时,为什么我觉得这让我感到沮丧。 我写这篇文章是因为我看到的大多数关于 JS 的文章都假定你正在使用构建系统,而对于像我这样的人来说,编写非常简单的、 开发运维 2023-07-30 Escape
精通Apache Ant:自动化构建工具命令详解与实践指南Apache Ant是一个强大的自动化构建工具,常用于Java应用的构建和部署过程。 Ant使用XML文件来描述构建过程和依赖关系,通过简单的命令,我们可以执行各种构建任务。 本文将详解Ant命令及其使用方法。 1. 安装和设置Ant 在使用Ant之前,我们首先需要将其安装到我们的系统中,并正确设置环境变量。 这通常可以通过下载Ant的压缩包,并将其解压到一个适当的位置来完成。 然后,我们需要将A 开发运维 2023-07-30 大猫
Ubuntu分布式系统:构建高效、可扩展的网络环境前言 在当今信息技术高速发展的时代,大规模分布式系统已经成为了许多企业和组织中不可或缺的一部分。分布式系统的设计和实现对于提高系统的可扩展性、可靠性和性能至关重要。作为一种流行的操作系统,Ubuntu在分布式系统的构建中扮演着重要的角色。本文将介绍Ubuntu在分布式系统中的应用,并探讨如何使用Ubuntu来构建高效、可扩展的网络环境。 Ubuntu Ubuntu是一个基于Debian的Linux 系统运维 2023-07-29 醒在深海的猫
Gradle的优势和demo构建Gradle是一款面向JVM平台的自动化构建工具,主要用于构建、测试和部署项目。它采用了基于Groovy或Kotlin的领域特定语言(DSL)来定义项目的构建脚本,提供了强大且灵活的构建功能和可定制性。下面详细介绍一些Gradle的特点和优势: 灵活性:Gradle具有极高的灵活性,它允许开发者根据项目的具体需求定制构建流程、定义依赖关系和任务。通过Gradle的DSL,可以以声明式的方式定义和配 系统运维 2023-07-25 LOVEHL^ˇ^
如何在Ubuntu 20.04构建tauri App应用Tauri是一个框架,用于构建高性能,跨桌面平台的应用。开发者可以集成前端框架并编译为HTML,Javascript和CSS构建用户接口。 后端是使用Rust构建的API,它用于与前端用户接口交互。用户接口当前使用tao为macOS和Windows平台提供原生窗口的API。 在Linux使用的是Tauri-团队创建并维护的WRY供原生窗口API。在创建用户接口方面则统一使用webview构建UI。 系统运维 2023-07-20 穿过生命散发芬芳
编写Dockerfile的最佳实践Docker可以通过Dockerfile自动构建镜像,在Dockerfile文件中包含构建镜像的全部指令,在教程中将会介绍编写Dockerfile构建镜像的最佳的实践。 使用.dockerignore文件,在很多案例中,最好的方式把Dockerfile放在一个空的目录的中,然后仅仅添加Dockerfile需要构建的文件。 这样可以提高构建速度,也可以通过.dockerignore排除一些不需要的文 应用运维 2023-07-20 三掌柜
compose中的变量传递与dockercreaterepo构建延用之前的supervisor和inotify,这次加入ENV环境变量,主要配合compose做参数传递 构建顺序 我做了一个docker createrepo示例,并用了nginx和ngx-fancyindex模块,这样一来,这个过程就需要如下几步才能完成一个镜象的制作:1,选择基础镜象2,构建过程整理3,需求构建4,测试 我大致将一个镜象构建分为如上几步1,选择基础镜像,主要是因为便捷和缩小难 应用运维 2023-07-16 贤蛋大眼萌
docker多阶段构建MultiStage与Builder对比总结此前,在早些时候,我发表过Distroless与多阶段构建,其中介绍了简单的多阶段构建方式。阅读本文,你将跟快的了解多阶段构建带来的便利以及使用方法。 本文中主要介绍多阶段构建的方式,这种方式本身就可以节省一部分空间,对于如何缩减镜像大小的几种方式类文章总结将会在此后进行编写发布,那将是后面会发生的事情。我们暂且来看多阶段构建带给我们的便利性 为什么镜像会变大? Docker就像一个版本控制系统。 应用运维 2023-07-16 穿过生命散发芬芳
Docker多阶段构建与 target和cachefrom在这篇文章中,我描述了在无法提供任何层缓存的无服务器主机上构建时,我如何提高容器的构建性能。我使用多阶段构建和远程存储库缓存的组合来避免重复性工作来提高性能。 阅读本篇,你将了解--target的使用和--cache-from的使用,更好理解多阶段构建和缓存的利用。我将会在文章末尾放置多阶段构建使用的本站链接 note 使用--target来构建多级建立的特定阶段,并推动这些镜像传输到远程存储库。 应用运维 2023-07-16 共饮一杯
【Rust 基础篇Rust Cargo 自定义构建导言 在 Rust 中,Cargo 是一个功能强大的构建工具和包管理器,它可以帮助我们管理项目的依赖、构建和发布。Cargo 提供了许多默认的构建行为,但有时我们需要自定义构建过程以满足特定的需求。本篇博客将详细介绍如何在 Rust 中使用 Cargo 自定义构建过程,包括自定义构建脚本、配置构建选项和处理构建输出等。 自定义构建脚本 在 Cargo 中,我们可以使用自定义构建脚本来扩展默认的构建 开发运维 2023-07-14 宇宙之一粟
maven核心概念的一次探索1. 背景 使用Maven已经好多年,最常用也最熟悉的就是它的依赖管理:什么增删改dependency,依赖冲突处理啥的,对一些比较少用的功能理解程度还是不够。这两天在搭建本地的nexus3私服,发现有些概念如果不彻底搞明白,会很影响我整个项目的搭建速度以及搭建出来的服务的可靠性,因此有了这篇文章。如果大家有以下的和我一样的疑惑,那么希望本篇文章能够帮助到你: maven的仓库体系到底是怎样的:怎 开发运维 2023-07-12 大树