6.6k star!推荐一款轻松创建隔离环境的命令行及容器工具!

简介: 6.6k star!推荐一款轻松创建隔离环境的命令行及容器工具!

本文小编向大家推荐一款可轻松创建隔离的 shell 和容器的开源工具。这款工具叫做 Devbox, 中文名译为 开发者沙箱,GitHub Star 已经有6.6k。


下面给大家介绍这款工具的功能和使用。


项目介绍


Devbox 是一个可以让我们轻松创建隔离环境的 shell容器 的命令行工具。


开源地址:https://github.com/jetpack-io/devbox


首先定义你所使用开发环境中所需的软件包列表,然后 Devbox 将使用该定义来为我们的应用程序创建一个隔离的环境。


它的工作方式类似于 nodejs 环境中的 yarn 软件包管理器。只不过它所管理的软件包是操作系统级别的。

这些包你通常会通过 brew和 apt-get来进行安装。


主要功能


  • 支持Python及Go语言
  • 瞬间将你的应用程序变成一个容器
  • 不以牺牲速度为代价
  • 同版本冲突说再见
  • 不再重复声明依赖关系
  • 为团队中的每一个人提供一个统一的Shell
  • 不污染原先配置的环境


安装及使用Devbox


除了安装Devbox本身之外,你还需要安装 nixdocker,因为Devbox依赖于它们。

curl -fsSL https://get.jetpack.io/devbox | bash

初始化Devbox

devbox init

这将在当前目录下创建一个 devbox.json文件。你应该把它提交到源码控制里。

从Nix Packages添加命令行工具。例如,要添加Python 3.10:

devbox add python310

你的 devbox.json文件记录了你所添加的软件包,它现在应该看起来是这样的:

{
   "packages": [
      "python310"
    ]
}

启动一个安装了这些工具的新shell:

devbox shell

此时可以发现,你是在Devbox shell中(而不是你的普通终端),因为shell的提示和目录已经改变。

这个时候你的任何操作都是在Devbox环境下完成的,与你的本地毫无关系。


如果要退出Devbox shell并返回到你的常规shell:

exit

构建镜像

devbox build

生成的镜像名叫 devbox


用一个更具体的名称来标记该镜像:

docker tag devbox my-image:v0.1
相关文章
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
3月前
|
存储 Kubernetes C++
Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
当今,容器化技术已成为IT领域的热门话题,而容器编排工具是实现容器自动化部署和管理的关键。本文将比较两种主流的容器编排工具Kubernetes和Docker Swarm,并探讨它们的优缺点,以帮助你选择最适合自己的工具。
|
3月前
|
Kubernetes 调度 C++
Kubernetes vs Docker Swarm:容器编排工具的比较与选择
在当今云计算时代,容器技术的应用越来越广泛。而在众多容器编排工具中,Kubernetes和Docker Swarm是两个备受关注的竞争者。本文将深入比较这两个工具的特点、优势和劣势,帮助读者更好地选择适合自己的容器编排解决方案。
|
30天前
|
运维 Kubernetes 监控
构建高效稳定的容器化运维环境
在现代IT基础设施中,容器技术以其轻量级、快速部署和易于管理的特性成为企业数字化转型的重要支撑。本文将深入探讨如何构建一个高效且稳定的容器化运维环境,涵盖从容器选择、集群管理到持续集成与持续部署(CI/CD)的最佳实践。文章旨在为运维工程师提供一套系统的解决方案,以应对日益复杂的业务需求和技术挑战。
|
1月前
|
测试技术 Go 云计算
Go语言优化云计算与容器化环境的策略与最佳实践
【2月更文挑战第15天】在云计算和容器化环境中,Go语言的应用和优化策略对于提高系统的性能和效率至关重要。本文深入探讨了如何使用Go语言优化云计算和容器化环境,包括内存管理、并发编程、代码优化等方面的最佳实践,旨在帮助开发者充分利用Go语言的优势,提升系统的整体性能。
|
1月前
|
Kubernetes Go 开发者
Go语言在容器化环境中的实践
【2月更文挑战第15天】随着容器技术的兴起,Go语言在容器化环境中的实践逐渐受到关注。本文探讨了Go语言如何与容器技术相结合,发挥其在容器化环境中的优势,包括轻量级部署、高并发处理、快速构建和部署等方面的特点,并通过实例展示了Go语言在容器化环境中的实践应用。
|
1月前
|
监控 数据可视化 Linux
如何使用可视化管理工具DockerUI远程管理docker容器
如何使用可视化管理工具DockerUI远程管理docker容器
|
2月前
|
Kubernetes 测试技术 Linux
【Docker管理工具】安装Docker容器自动更新工具Watchtower
【2月更文挑战第8天】安装Docker容器自动更新工具Watchtower
83 0
|
2月前
|
存储 监控 测试技术
【Docker管理工具】安装Oxker容器管理工具
【2月更文挑战第4天】安装Oxker容器管理工具
79 2
|
2月前
|
监控 关系型数据库 MySQL
利用容器编排工具实现员工电脑监控软件系统的横向扩展
随着企业规模的不断扩大,员工电脑监控软件系统的横向扩展成为一项迫切的需求。为了更有效地管理和监控员工的工作环境,容器编排工具的运用成为一种值得考虑的解决方案。在本文中,我们将探讨如何利用容器编排工具实现监控软件系统的横向扩展,并通过一些实际的代码示例来说明。
184 0

热门文章

最新文章