首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RHEL/CentOS 7中制作假色度

如何在RHEL/CentOS 7中制作假色度
EN

Unix & Linux用户
提问于 2017-02-20 15:21:04
回答 1查看 760关注 0票数 1

我想对我的RHEL环境进行原始的“虚拟化”。这是因为我不得不运行几个二进制文件,它们的路径都是硬核的,指向例如。/etc/conf目录有几个不同的二进制文件实际上需要不同的、冲突的配置放在同一个dir中。

因此,我想运行从/etc/conf读取conf的应用程序A,运行从/mnt/etc/conf读取conf但实际上“相信”它是从/etc/conf读取的应用程序B,它提供了一个将当前/ dir位置“更改”为/mnt的脚本。

我已经告诉你,对于这种操作,你可以用fakechroot来做,但是它已经不再可用了。对吗?是否有更好的方法来提供此功能?

EN

回答 1

Unix & Linux用户

发布于 2017-02-20 16:28:06

你可以试着用码头集装箱。要做到这一点(所以您不必学习Dockerfile语法),最简单的方法是安装docker然后docker run -it centos:<version> (编写这些实用程序的版本),然后从容器内部设置所有的二进制文件和可执行文件,退出shell/容器并使用docker ps查找容器ID。

例如:

代码语言:javascript
复制
[root@website ~]# docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                  PORTS                   NAMES
42f454cc1c71        centos:latest               "/bin/bash"              About an hour ago   Up About an hour                                sick_davinci

然后使用docker commit保存图像:

代码语言:javascript
复制
docker commit 42f454cc1c71 baseImage

然后运行firstUtil (或它称为什么):

代码语言:javascript
复制
docker run -it --rm -v /srv/configs/firstUtil:/etc/conf baseImage /path/to/firstUtil

然后运行secondUtil

代码语言:javascript
复制
docker run -it --rm -v /srv/configs/secondUtil:/etc/conf baseImage /path/to/secondUtil

等等

在上述每个docker run命令中,它将根据所设置的映像在容器中运行该命令,然后在给定命令退出后,--rm将使其被拆除。--rm是有用的,这样该实用程序的一次运行不会影响下一次,除非该实用程序修改了/etc/conf内部的一些内容,因为每次运行该命令时,都是容器中第一次运行任何内容。

您可以将这些docker run命令放在脚本或shell别名中,如果这样可以更容易地键入。

请注意,默认情况下,docker将尝试修改主机上的防火墙和路由表。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/346317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档