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天前
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm了解两者特点,助力选取合适容器编排工具
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
|
3天前
|
运维 安全 Linux
深入理解Docker自定义网络:构建高效的容器网络环境
深入理解Docker自定义网络:构建高效的容器网络环境
|
3天前
|
算法 计算机视觉 Docker
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
|
3天前
|
存储 运维 Kubernetes
构建高效稳定的容器化运维环境:Docker与Kubernetes的协同
【4月更文挑战第14天】 在当今快速发展的云计算时代,容器技术以其轻量级、快速部署和易于管理的优势,成为现代应用交付的标准。本文将深入探讨如何通过Docker和Kubernetes的整合使用来构建一个高效且稳定的容器化运维环境。我们将分析Docker容器的基本概念,探索Kubernetes在容器编排方面的强大能力,以及两者结合所带来的益处。文章还将讨论在实际部署中可能遇到的挑战,并提出相应的解决方案。
|
3天前
|
运维 Kubernetes 监控
构建高效稳定的容器化运维环境
在现代IT基础设施中,容器技术以其轻量级、快速部署和易于管理的特性成为企业数字化转型的重要支撑。本文将深入探讨如何构建一个高效且稳定的容器化运维环境,涵盖从容器选择、集群管理到持续集成与持续部署(CI/CD)的最佳实践。文章旨在为运维工程师提供一套系统的解决方案,以应对日益复杂的业务需求和技术挑战。
|
3天前
|
测试技术 Go 云计算
Go语言优化云计算与容器化环境的策略与最佳实践
【2月更文挑战第15天】在云计算和容器化环境中,Go语言的应用和优化策略对于提高系统的性能和效率至关重要。本文深入探讨了如何使用Go语言优化云计算和容器化环境,包括内存管理、并发编程、代码优化等方面的最佳实践,旨在帮助开发者充分利用Go语言的优势,提升系统的整体性能。
|
3天前
|
Kubernetes Go 开发者
Go语言在容器化环境中的实践
【2月更文挑战第15天】随着容器技术的兴起,Go语言在容器化环境中的实践逐渐受到关注。本文探讨了Go语言如何与容器技术相结合,发挥其在容器化环境中的优势,包括轻量级部署、高并发处理、快速构建和部署等方面的特点,并通过实例展示了Go语言在容器化环境中的实践应用。
|
3天前
|
监控 数据可视化 Linux
如何使用可视化管理工具DockerUI远程管理docker容器
如何使用可视化管理工具DockerUI远程管理docker容器
122 0
|
3天前
|
Kubernetes 测试技术 Linux
【Docker管理工具】安装Docker容器自动更新工具Watchtower
【2月更文挑战第8天】安装Docker容器自动更新工具Watchtower
130 0
|
3天前
|
存储 监控 测试技术
【Docker管理工具】安装Oxker容器管理工具
【2月更文挑战第4天】安装Oxker容器管理工具
84 2

热门文章

最新文章