使用Docker清洁环境

cleanenv的Python项目详细描述


clean environment是python的virtualenv的逻辑继承者。

它使用docker创建一个完全封装的工作环境。

这种用法对用户来说非常简单和完全透明。您甚至不会注意到您正在环境中工作。所有程序都可以从站点启动,就好像它们是普通程序一样。它们会自动包装并在Docker容器中启动。




为什么不直接使用Docker或Virtualenv
=====================================================================================================================您还绑定了该特定操作系统。在某些情况下,您不允许安装和运行自己的特权服务(如数据库)或使用另一个软件版本。


Docker-尽管有些人称之为Virtualenv Killer-缺乏作为Virtualenv替代品的可用性。您将始终需要一些手工制作的
脚本来使其美观。

主机的一部分。程序、用户和路径的映射是透明的。您可以使用
它作为virtualenv的替换项。

,它并不严格绑定到python。希望透明地执行隔离的所有内容都可以与cleanenv一起使用。假设您需要运行较新或
较旧版本的ruby,但无法升级/降级主机系统版本。
cleanenv为您创建一个快捷二进制文件,允许您使用
映射的用户和路径独立运行它。






简单的"create"命令在指定的路径中创建环境。
若要输入环境类型:


$source<;path>;/bin/activate


若要停用但不销毁环境类型:

$deactivate

如果要使它们保持运行,请在创建时使用--persistent指令。

启动后,<;program>;参数将在容器中执行。

$cleannev create--on activate<;program>;--on deactivate<;program2>;<;path>;

(抱歉,尚未实现)

您应该使用--persistent指令。这样即使程序退出,容器也能保持运行。


因为Docker容器与主机系统完全隔离,因此容器中不存在主机系统的所有现有用户。cleanenv
自动在docker容器中创建一个与调用cleanenv的用户匹配的用户。您可以使用--user指令覆盖此设置:

$cleanenv create--user[<;id>;:]<;name>;<;path>;

$cleanenv create--user system:[<;id>;:]<;name>;<;path>;

使用--program指令可以实现从主机轻松调用它们的程序映射


$cleanenv create--link<;full path in container>;


要覆盖这些设置,可以提供如下映射:


$cleanenv create--directory<;host path>;:<;container path>;[:rw]

如果不存在":rw",则主机路径将以只读方式装载。使用:rw(完全访问读写)挂载时要小心。由于Docker中缺少安全功能,您可以更改/删除主机系统中的文件。




您需要一个可复制的配置
您可以将上述所有设置放入.cleanenv.conf文件中。
在执行"cleanenv create<;path>;"时,它会在当前工作目录中搜索此文件。或者,您可以提供一个配置文件,其中包含
`--config`




重置环境的状态


容器。



对环境的正确销毁
==







$<;path>;/bin/destroy




抱歉)
====



快照用于存储Docker容器的当前状态,以便回滚和前滚更改。


设置程序以在执行时自动创建快照。

$cleannev snapshot configure pip--pattern‘install’--name‘pip-{id}

list available快照:

$cleanev snapshot list


创建快照:


$cleanev snapshot create[<;name>;]


还原快照:

$cleanev snapshot<;id name>;

要还原初始启动-创建cleanev后-请使用:

$cleanev reset

执行此操作时请小心,因为下次创建快照时可能会丢失所有快照。

键入:

$cleanev freeze

它创建一个带有快照历史的docker映像,并防止所有即将发生的
更改。

$cleanev unfreeze

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
算法图形。路径方向Java枚举方向问题无法使用EAST   Java:将字符串转换为特定语言环境   javaspringboot&Thymeleaf为后续调用保存搜索表单的最佳方法   mapreduce程序中未调用java reducer   java如何将url中的Gif文件保存到手机中?   如何在JavaSwing中使用[Esc]键最小化JInternalFrame?   java创建了一个包含100个按钮、80个空按钮和20个随机按钮的网格布局   如何在java中使用数组对2d字符串数组中的每一行进行排序。分类   java无法识别的SSL消息,纯文本连接?例外   为什么Java编译器允许在抛出部分列出方法无法抛出的异常   java将预测数组添加到训练数组   java从Ajax调用获取响应文本   使用改型2的java应用程序等待一分钟后退出